As a developer you have heard about the plethora of Continuous Integration tools out there. Some are open source (yeah) and some aren’t. Each of these are important for limiting the number of errors that can make it into your software. There’s good and there’s bad but not in the way you think, as usual it depends on what you are trying to do.
Above is our chart that we use internally at TestGrid.io.
As you can see each software has its own pros and cons. Below I’ve included a little about each to help you decide what might work best for your projects.
We covered a little about Jenkins and CI in a previous blog, however, here’s a quick background on the tool.
Jenkins was created after a split between Hudson project contributors and the company that acquired Sun Microsystems. (Some fight over a name.) Its focus is on two major jobs: building/testing software projects continuously and monitoring externally run jobs. It is developed in Java and can be installed using a simple command after downloading. Jenkins is a middle man between your code repo and your build server. It checks for changes on your server every few minutes. Then gathers the changes and sends them to your build server.
Bamboo is not an open source solution. However, Bamboo is a continuous integration server from Atlassian, the makers of JIRA, Confluence and Crowd. Bamboo supports builds in any programming language. Although initially available both as an on-premises and cloud computing service, in May 2016 it was announced that the cloud version would be discontinued by end of January 2017 which seems to be Bitbucket now.
Travis CI is probably one of the easiest CI servers to get started. Setup is as simple as linking your GitHub account, giving the relevant permissions, and updating the file with your project specific requirements. A new Travis CI build is triggered after a file is committed to GitHub. Travis CI is open source and free to host on your own server, but it also offers a SaaS version that allows free testing for open source projects.
At TestGrid.io, most of our customers prefer Jenkins for its robustness and community support. It depends on your exact needs, and we hope that our table helps you make your decision.