Continuous integration (CI) is central part of the modern agile software development setup. Sprint by sprint, teams deliver incremental features, while the current status of the build will give them confidence. An open source continuous integration system is the core component to keep the code quality high and deliver on time. Combine a software configuration management (SCM) like Git and a CI system and your team can focus on writing new features and have an instant feedback on the impact of their work.
Why use an open source CI system?
Some companies can not use cloud providers for their tooling. They either are not allowed to do so by contracts with their customers. Or do not want to be dependent on the availability and stability of an external provider. Other companies are hitting the limits of existing providers because they have too many things going on in their development department and the build jobs start piling up and slowing the whole company down. For those companies a self hosted open source CI system can be a big a advantage to grow without interruption.
When using a commercial CI system is not an option many rely on hosting their own toolchain. Here are five open source CI systems that have been proven to the industry.
The Jenkins project is developed in Javan and has been forked off Hudson CI after they have been acquired by Sun Microsystems. Since then it has been heavily improved and extended. Despite its dusty looking interface, Jenkins is one of the most complete and powerful open source CI systems.
Jenkins gets shipped with an endless amount of plugins and extensions. It has support for most SCM tools like Git, SVN, mercurial. Installing and running Jenkins is fairly easy and well documented. It is released under the MIT license and the code can be obtained on the Jenkins GitHub organisation.
Buildbot is a job scheduling system written in Python, that queues jobs, executes the jobs when the required resources are available, and reports the results back. It supports parallel and distributed execution of builds/jobs across multiple platforms, a wide number of version-control systems, extensive status reporting, and more through plugins. It comes with an extensive documentation. Buildbot is released under the GPLv2 on GitHub.
go Continuous Delivery
Strider Continuous Delivery