CircleCI can scale beyond what Jenkins can handle, Rose says, claiming that Jenkins can be challenged when dealing with an increasing load on infrastructure as application development teams speed up their work. “The only way to make Jenkins scale is to essentially stamp out more versions of Jenkins,” he says, adding that development teams then have to manage all of these deployment pipelines with Jenkins. With CircleCI, configuration is done at a code rather than server level.
The forerunner of Jenkins itself, Hudson has been under the jurisdiction of the Eclipse Foundation since Oracle turned over the project five years ago. Oracle inherited Hudson when it acquired Sun Microsystems in 2010, but the Jenkins fork emerged after developers did not see eye-to-eye over the project’s direction under Oracle. Recently upgraded in February, Hudson is written in Java and runs in a servlet container such as Apache Tomcat. It can work with version control tools such as Git and Subversion.
"In the Hudson team we are committed to enhancing Hudson on an ongoing basis with a particular focus on making Hudson a suitable platform for continuous delivery as well as continuous integration,” a representative of Eclipse says. “As such, you will see new features come into the tool that relate specifically to the needs of large enterprises to use Hudson at scale and as part of complex build pipelines."
One Hudson user, Cleo, which provides business integration software and services, evaluated Jenkins as a replacement for Hudson because Jenkins was maintaining most Hudson plug-ins, according to a case study from Eclipse. “We abandoned this idea after seeing that Jenkins’ core functionality was less reliable than Hudson’s,” said Stuart Lorber, a Cleo release engineer, in that Eclipse study.
Available as SaaS or behind the firewall, the open source GitLab CI can execute on any platform that supports the Go language, including Unix, Windows, and OS X. It features parallel builds with builds split over multiple machines. Users can automatically scale up and down VMs for immediate processing and minimized costs. Other capabilities include multilanguage support, real-time logging, a pipeline for defining multiple jobs per stage, and Docker support, for testing and building Docker images. The company also sees scalability as an advantage.
GitLab CI, which is part of the GitLab code-hosting platform, is intended to provide easy setup for continuous integration, says GitLab CEO Sid Sijbrandij. “Setting up CI used to be tedious, and we want to make it very very simple.” GitLab CI does not require a lot of administration, he adds. Tests are executed on GitLab Runner, which was written in Go and provides multiplatform, multilanguage capabilities.
Sign up for CIO Asia eNewsletters.