Over a million developers have joined DZone.
{{announcement.body}}
{{announcement.title}}

Adding Continuous Integration to Play!

DZone's Guide to

Adding Continuous Integration to Play!

· DevOps Zone ·
Free Resource

Discover the easy-to-use control panel and API that let you spend more time coding and less time managing your infrastructure. Brought to you in partnership with DigitalOcean

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

Learn about the optimized the configuration process to save your team time when running and scaling distributed applications, AI & machine learning workloads, hosted services, client websites, or CI/CD environments. Brought to you in partnership with DigitalOcean

Topics:

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}