In the past, coders and engineers—often working independently—would add new code to a product and then test it manually. Without the proper version control, this approach usually resulted in bugs, meaning more tests and fixes. Continuous integration solves that by ensuring that all developers submit code to the same repository, where it is automatically tested to detect errors.
With CI, developers can release multiple builds in any given day, greatly reducing development time without sacrificing quality, as it frees them up to focus on improving functionality and features. Due to these clear benefits, CI has become fundamental to the success of DevOps, allowing teams to implement and test changes much faster than they’re used to with comparable methodologies, like Agile.
There are literally dozens of CI tools to choose from, so we asked our DevOps experts at Wizeline which ones they see dominating the development landscape right now.
Jenkins (originally founded as “Hudson” in 2006) is a cross-platform, open-source tool written in Java that offers power and flexibility. The platform has a massive list of plugins available, as well as the ability to add your own.
As it’s open-source, Jenkins requires a server, which is an additional cost to consider. It also needs someone with system administration skills to configure and maintain it, so time is an additional factor. Ultimately though, the time saved and errors avoided by implementing Jenkins (and other CI tools) more than compensate for the initial resource investment. Self-hosting Jenkins also gives companies more control over their security, compared to its SaaS alternatives.
On the downside, due to its age, Jenkins has a reputation for its dated and unfriendly user interface. Thankfully the Jenkins project recently released Blue Ocean, another open-source software which is designed to improve the UI. The learning curve can also be a bit steep, but most DevOps engineers are already familiar with it, so it’s an easy choice for an experienced team.
Wizeline Score: 8/10
CircleCI is an easy-to-use, cloud-hosted platform that excels in automated builds and testing, which is a massive benefit when it comes to the reliability of the end product.
As it’s cloud-hosted, there is no cumbersome infrastructure to set up, but that doesn’t come free—after the first one, each additional “container” (where builds are released and tested) will incur a fee. This can become expensive if parallel testing is important to the project. On the plus side, this model makes it easy to scale the project in a flash.
Unfortunately, CircleCI doesn’t (at the time of writing) allow connections to static IP addresses, which is an issue for companies in regulated industries. It’s also not too flexible or customizable, unlike Jenkins, but that is due to its focus on simplicity over complexity.
Wizeline Score: 7/10
3. AWS CodeBuild
Like Circle CI, AWS CodeBuild is a scalable, cloud-hosted CI tool, but it is far more customizable and comes at a lower price. It’s particularly great if you’re already investing in other products in the AWS family as integrations are easy and any knowledge of those products transfers over seamlessly.
This tool has been praised for its pre-configured and customizable build environments, along with its focus on security. However, its user interface is not too developer-friendly and there can be a steep learning curve when trying to maximize its potential.
Overall, it’s a robust choice if AWS products are already familiar to the team, but, like most AWS products, the UI could a fresh coat of paint.
Wizeline Verdict: 8/10
Praised as the most developer-friendly and visually pleasing tool on the list, TravisCI has become a popular option for that very reason.
As a cloud-hosted tool, it is very similar to CircleCI, but it also supports more coding languages and has an option to run simultaneous tests on Linux and Mac OS X (but not Windows, just yet). Unfortunately, this is part of the reason why it’s more expensive than Circle, and there is no free plan for enterprise customers. It also has limitations when it comes to customization, although this can be circumvented with dedicated third-party software.
You get what you pay for with TravisCI, as the user interface is slick, intuitive, and extremely fast. It’s also very simple to configure and integrates easily with both private and open code repositories. These benefits make it a good choice for companies looking to improve development velocity quickly.
Wizeline Verdict: 8.5/10
For more on DevOps at Wizeline, check out the links below.