Setting up Travis CI

For integrated testing  I set up a Travis CI account to have a continuous integration tool for my Variations project — because sometimes a local build yields other results than a build on committed sources. Mostly if you forget to commit something or you use a dependency which is not properly configured in maven or gradle.

And now I’ll tell you how I did that.

OK, it was not as a big effort as it seems.

The documentation at the Travis homepage is very good. Besides this the configuration is really simple for simple configurations 😉 You have to add your language to the .travis.yml file and this was. You can specify your Java version (default is currently JDK 7), build tool (maven, gradle).

What is really great, you can test your build against multiple JDK Versions (6, 7, 8) and vendors (Oracle, OpenJDK).

Travis is really good for simple builds with unit tests — especially if you have many contributors on the project and want to assure that everything goes as it should. For the future a good point would be a free maven repository where you could deploy your applications and contribute them. This would solve some collaboration problems (for example the Java GoL project where Klaus Bayrhammer developed the back-end and I implemented a front-end). However this is a very unstable plan because how many projects do we have? Currently I’ve got 10 repositories. One repository contains one or more maven projects which could be distributed. Assume we have a billion developers with the same repository size and projects and they release every repository 5 times in one year and… Yes, it is overwhelming. Naturally it could be managed but some people would be angry because of the restrictions.

This is a future plan (eventually there exists already a Nexus for open source projects) however I hope that this will be in the near future where I can release Klaus’ and my Java GoL combination.



One thought on “Setting up Travis CI

  1. Pingback: Running Liquibase Changesets — Part 4: Spring | HaHaMo Group

Leave a Reply

Please log in using one of these methods to post your comment: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s