Setting up Continuous Integration for a public GitHub project
The other day a colleague asked if I had ever tried to set up any of my GitHub projects using one of the free CI services available. I hadn't but thought it an interesting thing to do. It proved to be a ridiculously easy task.
I could find two service providers on the market. One is BuildHive from CloudBees. This is the the company behind the CI server Jenkins. The other is called Travis CI and is provided by Travis. Travis is a, to me new, CI company who also seem to offer some enterprise services in the cloud.
I have used Jenkins allot in the past and it's a very good CI server. The company behind, CloudBees, also offer an enterprise service which I think is a very good fit for any company who want to get first class support with their CI and CD needs. However I choose to go with Travis since they requested less permissions to my GitHub account. I have not contacted CloudBees yet to find out why the want write access to my account setting, followers and private repositories when I just want to build public ones but I'd like to know.
There are three simple steps to go through to set up Travis CI with your GitHub projects:
- Log in to Travis CI using your GitHub OpenId.
- Enable the project you want to build in the Travis CI control panel.
- Add the .travis.yml build script file matching the needs of your build to your project on GitHub.
It is literary this simple. Granted, the project I selected has no special requirements. It builds nicely (well actually it doesn't since I have test failures) with just a simple mvm install command. But I think this is remarkably easy and something that everyone should try. If for no other reason so just to have the experience of how simple some things in software can be when done well.
Thanks Travis CI for such a spotless integration!