Adding Continuous Integration to Play!

December 20, 2013
Play! Play Continuous Integration Testing Travis

With services like Travis, it has become quite easy to add Continuous Integration to projects. This post will show you quickly how to setup Travis to build and test your Play project. This assumes you have signed up for Github and Travis, and have authorised travis to connect to your github account. If you have not done this already, follow the Travis steps here.

  1. Create a .travis.yml file in the root of your Play project.
  2. Add the following contents.

    language: java
    env:
      - PLAY_VERSION=2.2.1
    before_script:
      - wget http://downloads.typesafe.com/play/${PLAY_VERSION}/play-${PLAY_VERSION}.zip
      - unzip -q play-${PLAY_VERSION}.zip
    script: play-${PLAY_VERSION}/play test
    
  3. Ensure travis is building your repository. Click on https://travis-ci.org/profile and ensure that your github repository is synchronised and building. Upon committing, your travis build should start.

    To save SBT from redownloading dependencies, you can use the experimental caching feature of Travis. However this is only available for private repositories.

    language: java
    cache:
      directories:
      - .sbt
    env:
      - PLAY_VERSION=2.2.1
    before_script:
      - wget http://downloads.typesafe.com/play/${PLAY_VERSION}/play-${PLAY_VERSION}.zip
      - unzip -q play-${PLAY_VERSION}.zip
    script: play-${PLAY_VERSION}/play test
    
  4. The source to this post can be found here