DevOps Zone is brought to you in partnership with:

I'm a coder from way back starting mostly with Java and moving on to cooler things like Rails. I like to dabble with newer technologies and languages. I do also run a fair bit to balance out the coding but am not very good at it as evidenced by my finishing times. Ricky is a DZone MVB and is not an employee of DZone and has posted 18 posts at DZone. You can read more from them at their website. View Full User Profile

Adding Continuous Integration to Play!

12.26.2013
| 2681 views |
  • submit to reddit

With services like Travis, it has become quite easy add setup 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

Published at DZone with permission of Ricky Yim, author and DZone MVB.

(Note: Opinions expressed in this article and its replies are the opinions of their respective authors and not those of DZone, Inc.)