Continuous Integration Server Overview
Introduction
There are plenty of CI servers to choose from. We have selected the three from the five most popular from the following poll: Poll: What Continuous Integration Server are you using in 2008?
and tried to give a rough overview of pros and cons. Note that all three solve the basic task of automating builds, so which server to choose is a matter of personal taste and which properties the development team values the most.
Top three CI servers
-
Continuum - (+) Open Source - (+) Easy to install - (+)(+) Gathers 99% of necessary information from the {}. Easy to initate new projects. - (+)(+) Allows grouping of projects (and configuration per group) - (+)(+) Easy to set up different kinds of builds in the same project (Build Definitions) - (+)(+) Supports maven-release from GUI - (+) Large community ~~ (~~) Poorly documented ~~ (~~) Used to release very seldom ~~ (~~) Cross-version migration issues
-
Hudson - (+) Open Source - (+) Easy to install - (+)(+) Lots of plugins - (+) Good REST-api - (+)(+) Supports slave agents (easy to set up too) - (+) Frequent releases and great deployment mechanisms (WebStart for instance) - (+) Quick and snappy pages - (+) Good console output ~~ (~~)(-) Each job (project) must be configured from scratch. Duplicates configuration when having many jobs for one project (can copy, but not share) ~~ (~~) Doesn't scale with number of archived builds (having too large history will slow Hudson down as reports are based on numerous xml files)
-
Bamboo - (+)(+) Good documentation - (+)(+) Tidy configuration - (+) Very easy installation procedure - (+) Solid and enterprisey, scales well into many many projects (distributed builds on agents) - (+) Excellent reporting and output capabilities - (+) Supports Continuum-like multpiple "plans" for a single project (prevents config duplication) ~~ (~~) Commercial(but not that expensive really) ~~ (~~) Aquired taste: Not immediately intuitive GUI
Others
- TeamCity - (+) God integrasjon med IntelliJ ~~ (~~) Commercial
- CruiseControl - gammel og akterutseilt, bør ikke velges for nye prosjekter -* (+) Open Source
- Anthill OS -* (+) Open Source
- Luntbuild -* (+) Open Source
- Apache Gump -* (+) Open Source
- QuickBuild (Luntbuild professional) ~~* (~~) Commercial
- AnthillPro ~~* (~~) Commercial
- Pulse ~~* (~~) Commercial
- Parabuild ~~* (~~) Commercial
Resources
http://confluence.public.thoughtworks.org/display/CC/CI+Feature+Matrix (previously hosted at codehaus) - Quick video introduction to Hudson