CI Tools
Last updated
Last updated
Jenkins is an open-source CI tool written in Java. It originated as the fork of Hudson when the Oracle bought the Sun Microsystems. Jenkins is a cross-platform CI tool and it offers configuration both through GUI interface and console commands.
What makes Jenkins very flexible is the feature extension through plugins. Jenkins plugin list is very comprehensive and you can easily add your own. Besides extensibility, Jenkins prides itself on distributing builds and test loads on multiple machines. It is published under MIT license so it is free to use and distribute.
Cloudbees also offers hosted solution in the form of the Jenkins in the Cloud.
Verdict: One of the best solutions out there, both powerful and flexible at the same time. The learning curve could be a bit steep, but if you need flexibility it very well pays off to learn how to use it.
Official website: Jenkins Availability: Free Platform: Cross-platform
TeamCity is the mature CI server, coming from the labs of the JetBrains company. JetBrains has established authority in the software development world, and developers all over the world use their tools like WebStorm and ReSharper.
TeamCity offers all the features in its free version, but it is limited to the 100 build configurations and 3 build agents. Additional build agents and build configurations need to be purchased. Recently JetBrains started offering a cloud trial of TeamCity where you can try it out for one project without a hassle of having to install it on-premises. It lasts 60 days and you can export the project afterward.
Out of the box, TeamCity works on many different platforms and has the support for wide variety of tools and frameworks. There are many publicly available plugins, developed both by JetBrains and third parties.
Despite being the Java-based solution, TeamCity offers the best .NET support among the tools on this list. There are also different enterprise packages, that scale by the number of agents your company needs.
You can find a great in-depth case study on TeamCity here on our blog.
Verdict: Great solution overall, but due to its complexity and price, better suited for enterprise needs.
Official website: TeamCity Availability: Free for 3 agents and 100 build configurations and paid enterprise edition Platform: Servlet container (On-premises), cloud trial
Travis CI is one of the oldest hosted solutions out there and it has won the trust of many people. Although it’s mostly known for the hosted solution, it offers the on-premise version too in a form of enterprise package.
Travis CI is free for all open source projects hosted on the GitHub and for the first 100 builds otherwise. There are a few pricing plans you can choose from, the main difference being the number of concurrent builds you can run.
Builds are configured using .travis.yml file which contains the build tasks that will be executed on running the build. It supports a variety of different languages and a good documentation to back them up.
Verdict: A Mature solution that offers both hosted and On-premises variants, loved and used by many teams, very well documented.
Official website: Travis CI Availability: Free for open source plans and first 100 builds, paid plans for everything else Platform: Hosted and On-premises
Go is the newest Cruise Control incarnation from the ThoughtWorks company. Excluding the commercial support that ThoughtWorks offers, Go is free of charge. It is available for Windows, Mac, and various Linux distributions.
What makes Go stand out from the crowd is the concept of pipelines which makes the modeling of the complex build workflows easy. On the pipeline concept, how it can help with Continuous Delivery and how it compares to Jenkins pipelines you can read here. Go CD supports pipelines from scratch and eliminates build process bottlenecks with the parallel execution of the tasks.
Verdict: On-premises solution, great for complex scenarios, free of charge with paid support.
Official website: Go CD Availability: Free with a paid support Platform: On-premises for Windows, Mac and some Linux distributions
Atlassian is the company focused on providing tools for software development teams and you might know them by their tools like JIRA and Bitbucket. Bamboo originally offered both cloud and On-premises solutions, but in the May 2016 the cloud version was discontinued in the favor of the Bitbucket pipelines (accessible through the left panel of your Bitbucket account).
By utilizing the power of Docker, Bitbucket Pipelines is offering very efficient and fast builds that and is rapidly growing and becoming a worthy successor to the Bamboo Cloud.
Bamboo is free to try for 30 days, and after that, there are two plans for small and growing teams. Being the Atlassian tool, it has the native support for JIRA and BitBucket and you can even import your Jenkins configurations into the Bamboo easily.
Verdict: Great On-premises CI tool that originally offered Cloud solution too. Bitbucket Pipelines replaced the cloud solution. Pipelines is a modern and fast cloud CI tool integrated into Bitbucket. Has a free trial for 30 days, and paid plans after that.
Official website: Bamboo Availability: Paid with a free trial Platform: On-premises
GitLab CI is an integral part of the open-source Rails project GitLab, which was brought to light by the company GitLab inc. It is hosted on GitLab.com, a free hosted service and it provides detailed git repository management with features like access control, issue tracking, code reviews and much more.
GitLab CI integrates seamlessly with GitLab and it can easily hook projects using the GitLab API. GitLab runners that process builds are written in Go language and can run on Windows, Linux, OSX, FreeBSD, and Docker.
The official Go runner can run multiple jobs concurrently and has inbuilt Docker support. Gitlab CI comes with both the open-source GitLab Community Edition and with the GitLab Enterprise Edition.
Verdict: A Phenomenal hosted tool with impressive list of features, offers both free and enterprise solutions.
Official website: GitLab CI Availability: Free and paid with trial Platform: Hosted (can be hosted for you on Gitlab.com)
Another cloud alternative that comes from the company with the same name. CircleCI currently only supports GitHub and the list of supported languages includes Java, Ruby/Rails, Python, Node.js, PHP, Haskell, and Scala.
What separates CircleCI from the other tools is the way they offer services. The main pricing block for the CircleCI is the “container”. One container is free and you can build as many projects on it as you need. Once you start adding more containers (at a fixed price each) you can choose the level of parallelization that suits your needs.
There are 5 levels of parallelization (1x, 4x, 8x, 12x and 16x). So, starting with the 16 containers, you can achieve maximum parallelization of 16x on one build. Or you can run 4 builds on 16 containers with 4x parallelization. It is up to you.
And did I mention CircleCI supports Docker?
Verdict: Flexible cloud CI tool that offers parallelization up to 16x. Excellent if you need something built fast and money is not the biggest issue (can reach up to $3150/mo).
Official website: CircleCI Availability: Free and paid with trial Platform: Hosted
If you haven’t had enough hosted solutions up until now, here is another one.
Codeship comes in two different versions: Basic and Pro. Basic version offers out-of-the-box Continuous Integration service but doesn’t have docker support and its main purpose is to build applications with common workflows through the UI. Pro version offers more flexibility and docker support.
The basic version comes in several paid packages, where the more expensive ones have more parallelization power. In the pro version, you get to choose your instance type and the amount of parallelization up to 20x). It can get a bit pricey, but some teams may need that kind of power.
Verdict: Powerful hosted solution with docker support, flexible plans suited both for small teams and enterprises alike.