My criteria when choosing a build server (continuous integration server):
- Has Ant, Maven, Bash as builders
- GPL, BSD or Apache license
- Supports CVS, Subversion, Mercurial and Git
- Has at least an e-mail notification
- Has integration with Eclipse or IDEA
Choices filtered down to two best tools:
- Hudson – is an extensible continuous integration engine. With regards to the criteria above, Hudson resides on a servlet container (e.g. Apache Tomcat), has a creative commons license, can run Ant scripts, maven poms, grails, ruby, and shell scripts. It supports cvs, subversion, mercurial and git at least, and has an email, twitter, irc notification. It also supports integration of Eclipse, IDEA, Bugzilla, and JIRA. Best of all, it have a personality.
- LuntBuild – is a build automation and management tool (much like a continuous integration server). It resides also on a servlet container, has apache license, and can run ant, maven, and shell script alike. It supports cvs, subversion at least, and has an email notification system.
For a good article regarding Continuous Integration, read: http://martinfowler.com/articles/continuousIntegration.html on its definition, its purpose, process, practices and usage.