There are many Continuous Integration systems available. This page is an attempt to keep an unbiased comparison of as many as possible of them. The goals are:
- Make it easier to choose an appropriate CI tool for your project.
- "Healthy competition aid" for the people involved in the development of these various CI systems.
Note: In order to be as neutral as possible, it would be favourable if this page was hosted somewhere else, in a publicly available place. Let us know if you have any suggestions regarding this.
Note: If you want a new feature in one of these, please use the respective project's issue trackers. Don't add feature requests here.
Note: If you want to update this page (maybe you are a developer of one of these), just sign up as a user in this Confluence and send an email to aslak dot hellesoy at gmail dot com to request access.
Legend: The feature exists
The feature exists, but is buggy or not well tested
The feature is planned for the near future
The feature doesn't exist
WARNING: THE CURRENT DC 0.5 BRANCH CURRENTLY LACKS A LOT OF THESE FEATURES DUE TO AN ONGOING REDESIGN. THE GOAL IS TO MAKE THEM REAPPEAR BEFORE dc 0.6 IS RELEASED
CruiseControl | CruiseControl.NET | DamageControl | Drumbeat CI | Tinderbox & Tinderbox2 | BuildBot | Anthill Professional | Anthill | BeetleJuice | Luntbuild professional | LuntBuild | Gump | Draco.NET | Continuum | Sin | Parabuild Server | Tinderbox3 | Pulse | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Project info | ||||||||||||||||||
Project origin | ThoughtWorks | ThoughtWorks | ThoughtWorks | Timpani Software | Mozilla Project | ? | Urbancode | Urbancode | ? | PMEase | PMEase | ? | ? | Apache | CSH Consult | Viewtier Systems | John Keiser | Zutubi |
Open Source | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() |
Implementation language | Java | C# | Ruby | C# | Perl | Python | Java | Java | Java | Java | Java | Java | C# | Java | C# | Java | Perl | Java |
Free | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() |
Issue tracker | JIRA | JIRA | JIRA | ? | Bugzilla | ? | JIRA | JIRA | ? | Supports | SourceForge | ? | ? | JIRA | ![]() | Official support | Bugzilla | Jira |
Online demo | here | here | openauthenticated | here | Working implementation | ? | here (2.x demo) (3.x demo coming soon) | ![]() | ? | here | Use demo/domo | ? | ? | Working implementation on Codehaus | here | Eval download | Working implementation | Online Demo |
Number of active developers | 5 | 2 | 3 | 5 | ? | ? | ? | ? | ? | 2 | ? | ? | 4 | 1 | ? | ? | 2 | |
SCM support | ||||||||||||||||||
AccuRev | ![]() | ? | ? | ![]() | ![]() | ? | ![]() | ![]() | ? | ![]() | ![]() | ? | ? | ? | ![]() | ![]() | ![]() | ![]() |
AlienBrain | ![]() | ? | ? | ? | ? | ? | ![]() | ![]() | ? | ? | ? | ? | ? | ? | ? | ? | ? | ![]() |
Bazaar | ![]() | ? | ? | ? | ? | ? | ![]() | ![]() | ? | ? | ? | ? | ? | ![]() | ? | ? | ? | ![]() |
BitKeeper | ![]() | ? | ? | ? | ? | ? | ![]() | ![]() | ? | ? | ? | ? | ? | ? | ? | ? | ? | ![]() |
ClearCase | ![]() | ![]() | ![]() | ![]() | ![]() | ? | ![]() | ![]() | ? | ![]() | ![]() | ? | ? | ![]() | ![]() | ![]() | ![]() | ![]() |
CA Harvest | ![]() | ? | ? | ? | ? | ? | ![]() | ![]() | ? | ? | ? | ? | ? | ? | ? | ? | ? | ![]() |
CM Synergy | ![]() | ? | ? | ? | ? | ? | ![]() | ![]() | ? | ? | ? | ? | ? | ? | ? | ? | ? | ![]() |
CVS | ![]() | ![]() | ![]() | ![]() | ![]() | ? | ![]() | ![]() | ? | ![]() | ![]() | ? | ? | ![]() | ![]() | ![]() | ![]() | ![]() |
Dimensions | ![]() | ? | ? | ? | ? | ? | ![]() | ![]() | ? | ? | ? | ? | ? | ? | ? | ? | ? | ![]() |
"File system SCM" | ![]() | ![]() | ![]() | ![]() | ![]() | ? | ![]() | ![]() | ? | ![]() | ![]() | ? | ? | ![]() | ![]() | ![]() | ![]() | ![]() |
HTTP file | ![]() | ![]() | ![]() | ? | ![]() | ? | ![]() | ![]() | ? | ![]() | ![]() | ? | ? | ![]() | ![]() | ![]() | ![]() | ![]() |
MKS | ![]() | ![]() | ![]() | ![]() | ![]() | ? | ![]() | ![]() | ? | ![]() | ![]() | ? | ? | ? | ![]() | ![]() | ![]() | ![]() |
Perforce (p4) | ![]() | ![]() | ![]() | ![]() | ![]() | ? | ![]() | ![]() | ? | ![]() | ![]() | ? | ? | ![]() | ![]() | ![]() | ![]() | ![]() |
PVCS | ![]() | ![]() | ![]() | ![]() | ![]() | ? | ![]() | ![]() | ? | ![]() | ![]() | ? | ? | ? | ![]() | ![]() | ![]() | ![]() |
SourceGear Vault | ![]() | ![]() | ![]() | ![]() | ![]() | ? | ![]() | ![]() | ? | ![]() | ![]() | ? | ? | ? | ![]() | ![]() | ![]() | ![]() |
StarTeam | ![]() | ![]() | ![]() | ![]() | ![]() | ? | ![]() | ![]() | ? | ![]() | ![]() | ? | ? | ![]() | ![]() | ![]() | ![]() | ![]() |
Subversion | ![]() | ![]() | ![]() | ![]() | ![]() | ? | ![]() | ![]() | ? | ![]() | ![]() | ? | ? | ![]() | ![]() | ![]() | ![]() | ![]() |
Surround | ![]() | ![]() | ![]() | ![]() | ![]() | ? | ![]() | ![]() | ? | ![]() | ![]() | ? | ? | ? | ![]() | ![]() | ![]() | ![]() |
VSS | ![]() | ![]() | ![]() | ![]() | ![]() | ? | ![]() | ![]() | ? | ![]() | ![]() | ? | ? | ![]() | ![]() | ![]() | ![]() | ![]() |
VSS Journal | ![]() | ![]() | ![]() | ![]() | ![]() | ? | ![]() | ![]() | ? | ![]() | ![]() | ? | ? | ? | ![]() | ![]() | ![]() | ![]() |
SCM related support | ||||||||||||||||||
SCM filtering | ![]() | ![]() | ![]() | ![]() | ![]() | ? | ![]() | ![]() | ? | ![]() | ![]() | ? | ? | ? | ![]() | ![]() | ![]() | ![]() |
Multi-SCM | ![]() | ![]() | ![]() | ![]() | ![]() | ? | ![]() | ![]() | ? | ![]() | ![]() | ? | ? | ? | ![]() | ![]() | ![]() | ![]() |
Can create new SCM repositories | ![]() | ![]() | ![]() | ? | ![]() | ? | ![]() | ![]() | ? | ![]() | ![]() | ? | ? | ![]() | ![]() | ![]() | ![]() | ![]() |
Build management | ||||||||||||||||||
Parallel builds (ability to build several projects simultaneously) | ![]() | ![]() | ![]() | ![]() | ![]() | ? | ![]() | ![]() | ? | ![]() | ![]() | ? | ? | ![]() | ![]() | ![]() | ![]() | ![]() |
Distributed builds | ![]() | ![]() | ![]() | ![]() | ![]() | ? | ![]() | ![]() | ? | ![]() | ![]() | ? | ? | ![]() | ![]() | ![]() | ![]() | ![]() |
Agents' code auto-updated | ? | ? | ? | ? | ![]() | ? | ![]() | ![]() | ? | ? | ? | ? | ? | ? | ? | ? | ![]() | ![]() |
Manually force builds | ![]() | ![]() | ![]() | ![]() | ![]() | ? | ![]() | ![]() | ? | ![]() | ![]() | ? | ? | ![]() | Not needed | ![]() | ![]() | ![]() |
SCM trigged builds | ![]() | ![]() | ![]() | ![]() | ![]() | ? | ![]() | ![]() | ? | ![]() | ![]() | ? | ? | ![]() | ![]() | ![]() | ![]() | ![]() |
SCM poll based builds | ![]() | ![]() | ![]() | ![]() | ![]() | ? | ![]() | ![]() | ? | ![]() | ![]() | ? | ? | ![]() | ![]() | ![]() | ![]() | ![]() |
Temporal build scheduling | ![]() | ![]() | ![]() | ![]() | ![]() | ? | ![]() | ![]() | ? | ![]() | ![]() | ? | ? | ![]() | ![]() | ![]() | ![]() | ![]() |
Builds promotion | ![]() | ? | ? | ![]() | ![]() | ? | ![]() | ![]() | ? | ![]() | ![]() | ? | ? | ![]() | ![]() | ![]() | ![]() | ![]() |
Interproject Dependencies | ? | ? | ? | ? | ? | ? | ![]() | ![]() | ? | ![]() | ![]() | ? | ? | ? | ? | ? | ? | ? |
Builds deletion | ![]() | ? | ? | ? | ![]() | ? | ![]() | ![]() | ? | ![]() | ![]() | ? | ? | ![]() | ![]() | ![]() | ![]() | ![]() |
Reproduce history builds | ![]() | ![]() | ![]() | ? | ![]() | ? | ![]() | ![]() | ? | ![]() | ![]() | ? | ? | ![]() | ![]() | ![]() | ![]() | ![]() |
Proactive (can prevent build breakages) | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() |
Security | ||||||||||||||||||
User authentication | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() |
User authorization schemes | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() |
LDAP Integration | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() |
Publishing | ||||||||||||||||||
Confluence | ![]() | ![]() | ![]() | ? | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() |
![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | |
Run executable | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() |
FTP | ![]() | ![]() | ![]() | ![]() | ![]() | ? | ![]() | ![]() | ? | ![]() | ![]() | ? | ? | ![]() | ![]() | ![]() | ![]() | ![]() |
IRC | ![]() | ![]() | ![]() | ? | ![]() | ? | ![]() | ![]() | ? | ![]() | ![]() | ? | ? | ![]() | ![]() | ![]() | ![]() | ![]() |
Jabber | ![]() | ![]() | ![]() | ? | ![]() | ? | ![]() | ![]() | ? | ![]() | ![]() | ? | ? | ![]() | ![]() | ![]() | ![]() | ![]() |
Lotus Sametime | ![]() | ![]() | ![]() | ![]() | ![]() | ? | ![]() | ![]() | ? | ![]() | ![]() | ? | ? | ![]() | ![]() | ![]() | ![]() | ![]() |
NetSend | ![]() | ![]() | ![]() | ![]() | ![]() | ? | ![]() | ![]() | ? | ![]() | ![]() | ? | ? | ![]() | ![]() | ![]() | ![]() | ![]() |
ProjectStart | ![]() | ![]() | ![]() | ![]() | ![]() | ? | ![]() | ![]() | ? | ![]() | ![]() | ? | ? | ![]() | ![]() | ![]() | ![]() | ![]() |
RSS | ![]() | ![]() | ![]() | ![]() | ![]() | ? | ![]() | ![]() | ? | ![]() | ![]() | ? | ? | ![]() | ![]() | ![]() | ![]() | ![]() |
SCP | ![]() | ![]() | ![]() | ? | ![]() | ? | ![]() | ![]() | ? | ![]() | ![]() | ? | ? | ![]() | ![]() | ![]() | ![]() | ![]() |
Windows System Tray | ![]() | ![]() | ![]() | ![]() | ![]() | ? | ![]() | ![]() | ? | ![]() | ![]() | ? | ? | ![]() | ![]() | ![]() | ![]() | ![]() |
Formatted Logging | ![]() | ![]() | ![]() | ![]() | ![]() | ? | ![]() | ![]() | ? | ![]() | ![]() | ? | ? | ![]() | ![]() | ![]() | ![]() | ![]() |
Yahoo Messenger | ![]() | ![]() | ![]() | ? | ![]() | ? | ![]() | ![]() | ![]() | ? | ![]() | ![]() | ? | ![]() | ![]() | ![]() | ![]() | ![]() |
MSN Messenger | ? | ? | ? | ? | ![]() | ? | ![]() | ![]() | ? | ![]() | ![]() | ? | ? | ![]() | ![]() | ![]() | ![]() | ![]() |
X10 | ![]() | ![]() | ![]() | ![]() | ![]() | ? | ![]() | ![]() | ? | ![]() | ![]() | ? | ? | ? | ![]() | ![]() | ![]() | ![]() |
Web interface | ||||||||||||||||||
View changesets | ![]() | ![]() | ![]() | ![]() | Bonsai | ? | ![]() | ![]() | ? | ![]() | ![]() | ? | ? | ![]() | ![]() | ![]() | Bonsai | ![]() |
Add new projects | ![]() | ![]() | ![]() | ![]() | ![]() | ? | ![]() | ![]() | ? | ![]() | ![]() | ? | ? | ![]() | ![]() | ![]() | ![]() | ![]() |
Clone projects | ![]() | ![]() | ![]() | ![]() | ? | ? | ![]() | ![]() | ? | ![]() | ![]() | ? | ? | ![]() | ![]() | ![]() | ![]() | ![]() |
Delete projects | ![]() | ![]() | ![]() | ![]() | ![]() | ? | ![]() | ![]() | ? | ![]() | ![]() | ? | ? | ![]() | ![]() | ![]() | ![]() | ![]() |
Modify projects | ![]() | ![]() | ![]() | ![]() | ![]() | ? | ![]() | ![]() | ? | ![]() | ![]() | ? | ? | ![]() | ![]() | ![]() | ![]() | ![]() |
Kill builds | ![]() | ![]() | ![]() | ![]() | ![]() | ? | ![]() | ![]() | ? | ![]() | ![]() | ? | ? | ![]() | ![]() | ![]() | ![]() | ![]() |
Pause builds | ![]() | ![]() | ![]() | ![]() | ![]() | ? | ![]() | ![]() | ? | ![]() | ![]() | ? | ? | ![]() | ![]() | ![]() | ![]() | ![]() |
Access to build artifacts | ![]() | ![]() | ![]() | ![]() | ![]() | ? | ![]() | ![]() | ? | ![]() | ![]() | ? | ? | ![]() | ![]() | ![]() | ![]() | ![]() |
Browse CI's working copy | ![]() | ![]() | ![]() | ? | ![]() | ? | ![]() | ![]() | ? | ![]() | ![]() | ? | ? | ![]() | ![]() | ![]() | ![]() | ![]() |
Delete CI's working copy | ![]() | ![]() | ![]() | ? | ![]() | ? | ![]() | ![]() | ? | ![]() | ![]() | ? | ? | ![]() | ![]() | ![]() | ![]() | ![]() |
Search in builds | ![]() | ![]() | ![]() | ![]() | ![]() | ? | ![]() | ![]() | ? | ![]() | ![]() | ? | ? | ? | ![]() | ![]() | ![]() | ![]() |
Historic graphs | ![]() | ![]() | ![]() | ![]() | ![]() | ? | ![]() | ![]() | ? | ![]() | ![]() | ? | ? | ![]() | ![]() | ![]() | ![]() | ![]() |
Self-updating web page | ![]() | ![]() | ![]() | ![]() | ![]() | ? | ![]() | ![]() | ? | ![]() | ![]() | ? | ? | ![]() | ![]() | ![]() | ![]() | ![]() |
Multi project support | ![]() | ![]() | ![]() | ![]() | ![]() | ? | ![]() | ![]() | ? | ![]() | ![]() | ? | ? | ![]() | ![]() | ![]() | ![]() | ![]() |
Multi project view | ![]() | ![]() | ![]() | ![]() | ![]() | ? | ![]() | ![]() | ? | ![]() | ![]() | ? | ? | ![]() | ![]() | ![]() | ![]() | ![]() |
Add/remove agent machines (for distributed builds) | ? | ? | ? | ? | ![]() | ? | ![]() | ![]() | ? | ? | ? | ? | ? | ? | ? | ![]() | ![]() | ![]() |
Directly supported build tools | ||||||||||||||||||
Shell / command script | ![]() | ![]() | ![]() | ![]() | ![]() | ? | ![]() | ![]() | ? | ![]() | ![]() | ? | ? | ![]() | ![]() | ![]() | ![]() | ![]() |
Ant | ![]() | ![]() | ![]() | ![]() | ![]() | ? | ![]() | ![]() | ? | ![]() | ![]() | ? | ? | ![]() | ![]() | ![]() | ![]() | ![]() |
Groovy | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() |
NAnt | ![]() | ![]() | ![]() | ![]() | ![]() | ? | ![]() | ![]() | ? | ![]() | ![]() | ? | ? | ![]() | ![]() | ![]() | ![]() | ![]() |
Maven | ![]() | ![]() | ![]() | ![]() | ![]() | ? | ![]() | ![]() | ? | ![]() | ![]() | ? | ? | ![]() | ![]() | ![]() | ![]() | ![]() |
Maven2 | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() |
Make | ![]() | ![]() | ![]() | ![]() | ![]() | ? | ![]() | ![]() | ? | ![]() | ![]() | ? | ? | ![]() | ![]() | ![]() | ![]() | ![]() |
Visual Studio ('devenv') | ![]() | ![]() | ![]() | ![]() | ![]() | ? | ![]() | ![]() | ? | ? | ![]() | ? | ? | ![]() | ![]() | ![]() | ![]() | ![]() |
Tools integration | ||||||||||||||||||
ViewCVS | ![]() | ![]() | ![]() | ? | ![]() | ? | ![]() | ![]() | ? | ![]() | ![]() | ? | ? | ![]() | ![]() | ![]() | ![]() | ![]() |
Fisheye | ![]() | ![]() | ![]() | ![]() | ![]() | ? | ![]() | ![]() | ? | ![]() | ![]() | ? | ? | ![]() | ![]() | ? | ![]() | ![]() |
Bonsai | ? | ? | ? | ![]() | ![]() | ? | ![]() | ![]() | ? | ? | ? | ? | ? | ? | ? | ? | ![]() | ![]() |
Bugzilla | ![]() | ![]() | ![]() | ![]() | ![]() | ? | ![]() | ![]() | ? | ![]() | ![]() | ? | ? | ![]() | ![]() | ![]() | ![]() | |
Scarab | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() |
Trac | ![]() | ![]() | ![]() | ? | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() |
sourceforge.net | ![]() | ![]() | ![]() | ? | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() |
rubyforge.org | ![]() | ![]() | ![]() | ? | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() |
JIRA | ![]() | ![]() | ![]() | ![]() | ![]() | ? | ![]() | ![]() | ? | ![]() | ![]() | ? | ? | ![]() | ![]() | ![]() | ![]() | |
Confluence | ![]() | ![]() | ![]() | ![]() | ![]() | ? | ![]() | ![]() | ? | ![]() | ![]() | ? | ? | ![]() | ![]() | ![]() | ![]() | ![]() |
JUnit result rendering | ![]() | ![]() | ![]() | ![]() | ![]() | ? | ![]() | ? | ? | ![]() | ![]() | ? | ? | ![]() | ![]() | ![]() | ![]() | ![]() |
NUnit result rendering | ![]() | ![]() | ![]() | ![]() | ![]() | ? | ![]() | ? | ? | ![]() | ![]() | ? | ? | ![]() | ![]() | ![]() | ![]() | ![]() |
IntelliJ Plugin | ![]() | ![]() | ![]() | ? | ![]() | ? | ![]() | ![]() | ? | ![]() | ![]() | ? | ? | ![]() | ![]() | ![]() | ![]() | ![]() |
Eclipse Plugin | ![]() | ![]() | ![]() | ![]() | ![]() | ? | ![]() | ![]() | ? | ![]() | ![]() | ? | ? | ![]() | ![]() | ![]() | ![]() | ![]() |
Remote Management API | ||||||||||||||||||
SOAP | ![]() | ![]() | ![]() | ![]() | ![]() | ? | ![]() | ![]() | ? | ![]() | ![]() | ? | ? | ? | ![]() | ![]() | ![]() | ![]() |
XML-RPC | ![]() | ![]() | ![]() | n/a | ![]() | ? | ![]() | ![]() | ? | ![]() | ![]() | ? | ? | ![]() | ![]() | ![]() | ![]() | ![]() |
JMX | ![]() | N/A | N/A | n/a | ![]() | ? | ![]() | ![]() | ? | ![]() | ![]() | ? | ? | ![]() | ![]() | ![]() | ![]() | ![]() |
Hessian | ![]() | ? | ? | n/a | ![]() | ? | ![]() | ![]() | ? | ![]() | ![]() | ? | ? | ![]() | ![]() | ![]() | ![]() | ![]() |
Client Library | ? | ? | ? | ? | ? | ? | ![]() | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? |
Eclipse ALF | ? | ? | ? | ? | ? | ? | ![]() | ? | ? | ? | ? | ? | ? | ? | ? | ![]() | ? | ? |
Installation and Configuration | ||||||||||||||||||
Windows installer | ![]() | ![]() | ![]() | ![]() | ![]() | ? | ![]() | ![]() | ? | ![]() | ![]() | ? | ? | ![]() | ![]() | ![]() | ![]() | ![]() |
Self contained distribution (except SCM clients) | ![]() | ![]() | ![]() | ![]() | ![]() | ? | ![]() | ![]() | ? | ![]() | ![]() | ? | ? | ![]() | ![]() | ![]() | ![]() | ![]() |
Additional dependencies | JRE, SCM client | .NET Runtime, IIS, SCM client | SCM client | .NET Runtime, SQL Server (MSDE Included in distribution) | Perl, CVS | ? | JRE, SCM client | JDK, Servlet container, SCM client | ? | jdk, SCM client | jdk,tomcat,SCM client | ? | ? | JRE, SCM client | Subversion, .NET runtime/IIS or Mono/XSP | ![]() | Perl, CVS, SCP | JDK, some SCM clients |
Execution platform | JVM | Windows | Ruby | Windows, .NET, Mono | Perl | ? | JVM | JVM | ? | JVM | JVM | ? | ? | JVM | Windows, Linux | Windows, Unix, Linux, Mac OS X, Solaris, HP UX | Perl | JVM |
Project platform (what it can build) | Java + anything Ant/Maven/NAnt can build | .NET or anything with a command line interface build | Any language | Any language | Any language | ? | Any language | Any language with supplied ant wrapper | ? | Any language | Any language with supplied ant wrapper | ? | ? | Any language | Any language | Any language | (i)Any language | Any Language |
Preferred build tool | Ant, Maven | Nant | Any build tool | NAnt | Make | ? | Any build tool | Ant | ? | Any build tool | Ant, Maven | ? | ? | Maven 2 | Any build tool | Any build tool | Make | Any build tool |
Requires modifications to build scripts | NO | NO (for certain SCMs) | NO | NO | ![]() | ? | NO | NO | ? | NO | NO | ? | ? | NO | NO | NO | ![]() | NO |
Supports multiple projects | ![]() | ![]() | ![]() | ![]() | ![]() | ? | ![]() | ![]() | ? | ![]() | ![]() | ? | ? | ![]() | ![]() | ![]() | ![]() | ![]() |
Automatic configuration from build script | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() |
Text file configuration | ![]() | ![]() | ![]() | Stored in SQL Db - XML input/export coming soon | ![]() | ? | ![]() Database backend | ![]() | ? | ![]() | ![]() | ? | ? | ![]() | ![]() | ![]() | ![]() | ![]() |
Trackback: http://tb.blog.youkuaiyun.com/TrackBack.aspx?PostId=1421898