Travis CI

Travis CI is a great service for building projects hosted on GitHub. In addition to providing very easy Continuous Integration, Travis CI also integrates seamlessly with Boxfuse to easily become a fantastic Continuous Deployment platform.

Using the Boxfuse Command-line client

Travis CI's deployment tool comes with native support for the Boxfuse Command-line client.

All you need to do to get started is defined two encrypted Travis CI environment variables for your repository (securely stored and not visible in your build logs):

BOXFUSE_USER Your Boxfuse User
BOXFUSE_SECRET Your Boxfuse Secret

Then add the following to your .travis.yml file:

deploy:
  provider: boxfuse
  payload: target/myapp-1.0.jar

And that's it! The Boxfuse command-line client will be automatically installed and configured to deploy on every successful build. More info on the Boxfuse page in the Travis CI docs.

Using the Boxfuse Maven Plugin

Alternatively to the method described above, you can also simply use the Boxfuse Maven plugin directly from your pom.xml to deploy your application.

Just as for the command-line tool, you will need to define two encrypted Travis CI environment variables for your repository (securely stored and not visible in your build logs):

BOXFUSE_USER Your Boxfuse User
BOXFUSE_SECRET Your Boxfuse Secret

By default, Travis CI worker nodes are configured with too little heap for the JVM to work well with Maven and Boxfuse together.

Add the following to your .travis.yml to fix this:

before_install: echo "MAVEN_OPTS=-Xmx2048m" > ~/.mavenrc

New Relic