Because GitLab CI is integrated with GitLab, users do not have to set up new projects. Users add a file to describe how you want to test the repository. While acknowledging Jenkins as a competitor, Sijbrandij declined the opportunity to say why his platform would be the better option. “I greatly respect Jenkins.”
The JetBrains TeamCity CI/CD server integrates with tools such as the Apache Maven build manager and JetBrains’ own YouTrack issue tracker. “Its main selling points over other solutions is that we provide the full experience with most of the functionality that other platforms provide as plugins, built-in,” says Hadi Hariri, JetBrains vice president of developer advocacy. “In addition, of course, we have plug-in support too with many community contributions.”
TeamCity, which is not open source, also features a Web interface and administration capabilities such as providing snapshots of dependencies between builds, artifact dependencies, and build configuration templates for reuse of settings.
The platform has IDE plug-ins for Eclipse, Microsoft Visual Studio, and JetBrains IntelliJ. It also offers on-the-fly test reporting. “TeamCity is a product that's been around for 10 years. It was born out of a need inside JetBrains and has evolved to a very mature product that is used by customers large and small,” Harir says. “It's definitely a tool that grows with your needs. You can have the simplicity of configuring a CI project with a single operation and be up and running, to growing across multiple servers and handling hundreds of agents. It scales.”
ThoughtWorks GoCD is an open source continuous delivery system that features visibility into and modeling of workflows and visualization of the value stream, as well as the ability to compare builds. It provides a “bill of materials” for deployment. An agent grid, meanwhile, offers parallel execution across pipelines and versions; templates enable reuse of configuration pipelines. “It supports CD quite richly out of the box; you don’t need to install a bunch of plug-ins to get moving,” says David Rice, managing director at ThoughtWorks.
GoCD, Rice adds, differs from Jenkins in that it is about deployment pipelines and how to make continuous delivery easier. “That’s not where Jenkins is coming from.” GoCD can be installed on premises or be set up in the cloud.
ThoughtWorks Snap provides cloud-based continuous integration and delivery features. “Snap is for people who are operating completely in the cloud,” says ThoughtWorks’ Rice. It is targeted toward users who “don’t want to have any infrastructure at all,” he adds. Hosted deployment pipelines can be set up from cloud platforms, including GitHub, Amazon Web Services, DigitalOcean, and Heroku. Pull requests are tested to verify that they will merge cleanly.
Sign up for CIO Asia eNewsletters.