Click here to Skip to main content
13,259,976 members (50,099 online)
Click here to Skip to main content
Add your own
alternative version

Stats

42.4K views
34 bookmarked
Posted 23 Feb 2016

Top 8 Continuous Integration Tools (2017 edition)

, 27 Sep 2017
Rate this:
Please Sign up or sign in to vote.
Continuous Integration tools

Top 8 Continuous Integration Tools

If you are familiar with the concept of Continuous Integration we can agree that using it has become mandatory.

There are many Continuous Integration tools out there, and in this article, we will go through some of the greatest tools available on the market and see how they fare.

After reading this list you will have a better understanding what tools are available to you and choose the perfect tool for yourself.

So without further ado and in no particular order of importance, I present you the list of the top 8 Continuous Integration tools:

Jenkins

jenkins logo

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

TeamCity logo

TeamCity is the mature CI server, coming from the labs of the JetBrains company. JetBrains has established authority in the software development world, and their tools like WebStorm and ReSharper are used by developers worldwide.

TeamCity offers all the features in its free version, but it is limited to the 20 configurations and 3 build agents. Additional build agents and build configurations need to be purchased. You can find out pricing here.

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 needed.

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 20 build configurations and paid for additional agents
Platform: Servlet container (On-premises)

Travis CI

TravisCI logo

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 upon 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 CD

go cd logo

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. It is designed from the scratch to support pipelines and eliminate 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 paid support
Platform: On-premises for Windows, Mac and some Linux distributions

Bamboo

bamboo logo

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).

Being powered by Docker, Bitbucket Pipelines are very efficient and fast solution that 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. The cloud solution was replaced by Bitbucket pipelines, 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 free trial
Platform: On-premises

GitLab CI

gitlab logo

GitLab CI is an integral part of the open-source Rails project GitLab, which was brought to light by the company GitLab inc. GitLab 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 is fully integrated 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: 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)

CircleCI

circleci logo

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 Skala.

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

Codeship

codeship logo

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 Continuos 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.

Official website: Codeship
Availability: Free for 100 builds per month and paid for more than that
Platform: Hosted

Honorable mention: Codefresh

codefresh logoMany tools on this list have Docker support, but Codefresh was designed and built from the ground up specifically with the containers in mind.

Docker can be a bit overwhelming to figure out at first, and the guys from the Codefresh inc. are well aware of that. In addition to working with existing docker files, you can choose from several different templates to ease the migration of your project to Docker containers. UI is clean and intuitive, there is almost no need to parse through the documentation to get started.

The reason this CI tool deserves to be on the list lies in a feature that surprised me a bit. And that feature is launching your images to a stage-like environment. When the project is built and image created, you can launch it to see if it works. That effectively means you get a staging environment without a need to provision additional virtual machines or deploy anything. And that's great!

Codefresh is still very young and has room for improvement and new features, (eg. .NET core template and more deployment options), but it treats containers as a first class citizen and that makes it an ideal solution for any team that plans to utilize Docker.

Verdict: Easy to use tool with Docker containers at its core and very nice feature of launching the built Docker images to the hosted environment.

Official website: Codefresh
Availability: Free for 200 builds per month, 5 concurrent builds, and 1 hosted environment, paid for additional stuff
Platform: Hosted and On Premises via Kubernetes and Helm Charts

So, what is the perfect Continuous Integration tool for you and your team?

There are several things to keep in mind when choosing the right CI tool for your projects.

On-premises solutions offer a great deal of build process flexibility and the artifacts are stored locally. This may or may not be important to you, but in some cases and for some companies, it might be mandatory.

On the other hand, the hosted solutions offer no hassle setup and greater scalability since you don't need hardware to host them.

Another important thing is the Docker support. Docker revolutionalized the way we distribute our apps and has become something that should not be ignored. Although the vast majority of the tools support Docker, some take it more seriously than others.

And the last and often neglected aspect is the user interface. I found some of the tools from the list much easier to use than others. You cannot say with the clear conscious that the UI is not important because one of the main roles of any good CI tool is to make a build process easier. It should not be hard or complicated.

Which CI tool do you use? Share your thoughts in the comment section below.

The post Top 8 Continuous Integration Tools appeared first on Code Maze.

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

Share

About the Author

Vladimir Pecanac
Software Developer
Serbia Serbia
Hi, my name is Vladimir Pecanac, and I am full time .NET developer and software development enthusiast. I use this tiny part of the internet to share the things I learn in hope of both helping others and deepening my own knowledge of the topics I write about.

The best way to learn is to teach.

I feel that many technical articles are written in an unnecessarily complicated way to sound more authoritative and serious. My goal is to change that trend and write down-to-earth, simple articles that are easy to read and understand by anyone.

Having said all that, I hope you will enjoy reading my articles and learn something new in the process.

If you liked my articles, you can read more at my blog Code Maze.

You may also be interested in...

Pro
Pro

Comments and Discussions

 
QuestionCI-Tools for embedded products Pin
Yanay Reingewerts2-Oct-17 5:56
memberYanay Reingewerts2-Oct-17 5:56 
QuestionJenkins issues Pin
Bernhard Hiller29-Sep-17 4:12
memberBernhard Hiller29-Sep-17 4:12 
QuestionTop 8 Continuous Integration Tools Pin
ibondy28-Sep-17 7:54
memberibondy28-Sep-17 7:54 
QuestionHow about BuildBot? Pin
Member 287940926-Sep-17 2:03
memberMember 287940926-Sep-17 2:03 
QuestionTeam Foundation Service / Server ommitted Pin
Member 81704328-Jun-17 3:20
memberMember 81704328-Jun-17 3:20 
AnswerRe: Team Foundation Service / Server ommitted Pin
Vladimir Pecanac8-Jun-17 3:30
professionalVladimir Pecanac8-Jun-17 3:30 
BugTeamCity troubles Pin
RickZeeland7-Jan-17 0:57
professionalRickZeeland7-Jan-17 0:57 
Question.NET? Pin
Thornik24-Feb-16 9:45
memberThornik24-Feb-16 9:45 
AnswerRe: .NET? Pin
Vladimir Pecanac24-Feb-16 10:44
professionalVladimir Pecanac24-Feb-16 10:44 
QuestionTop 8 Continuous Integration Tools Pin
Frank Malcolm24-Feb-16 4:55
memberFrank Malcolm24-Feb-16 4:55 
AnswerRe: Top 8 Continuous Integration Tools Pin
Vladimir Pecanac24-Feb-16 10:36
professionalVladimir Pecanac24-Feb-16 10:36 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.

Permalink | Advertise | Privacy | Terms of Use | Mobile
Web04 | 2.8.171114.1 | Last Updated 27 Sep 2017
Article Copyright 2016 by Vladimir Pecanac
Everything else Copyright © CodeProject, 1999-2017
Layout: fixed | fluid