多种持续集成工具全面比较
2007-04-26 12:15
429 查看
现在随着持续集成的广泛使用,也出现了很多支持持续集成的工具。由于有许多持续集成服务(CI)服务器可以选择,包括商业的和开源的。
虽然这些工具都试图自动进行软件构建的过程,但是都有各自的优点和不足。而且,有太多工具可供选择的不良后果就是很难决定究竟应该选择使用哪个。
在选用自动化过程的工具时,要时刻记住的就是:工具要确实适用。选择错误的工具可能会限制整体的灵活性,会导致执行简单动作反而需要更长时间,或者会把人锁定在特定的支持工具或过程。
用java实现的持续集成的开源工具有:
CruiseControl http://cruisecontrol.sf.net/
Continuum http://maven.apache.org/continuum/
Anthill http://www.anthillpro.com/e/giant-ci-matrix-os
LuntBuild http://luntbuild.javaforge.com/
Gump http://jakarta.apache.org/gump/
更多工具的比较请见下面的图表:
图例说明:
当前版本已经实现
当前版本已经实现,但是还存在Bug或未经测试
计划在下一个版本实现
该功能没有实现
转自: http://damagecontrol.codehaus.org/Continuous+Integration+Server+Feature+Matrix
虽然这些工具都试图自动进行软件构建的过程,但是都有各自的优点和不足。而且,有太多工具可供选择的不良后果就是很难决定究竟应该选择使用哪个。
在选用自动化过程的工具时,要时刻记住的就是:工具要确实适用。选择错误的工具可能会限制整体的灵活性,会导致执行简单动作反而需要更长时间,或者会把人锁定在特定的支持工具或过程。
用java实现的持续集成的开源工具有:
CruiseControl http://cruisecontrol.sf.net/
Continuum http://maven.apache.org/continuum/
Anthill http://www.anthillpro.com/e/giant-ci-matrix-os
LuntBuild http://luntbuild.javaforge.com/
Gump http://jakarta.apache.org/gump/
更多工具的比较请见下面的图表:
图例说明:
当前版本已经实现
当前版本已经实现,但是还存在Bug或未经测试
计划在下一个版本实现
该功能没有实现
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 | TeamCity | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Project info | EAP | ||||||||||||||||||
Project origin | ThoughtWorks | ThoughtWorks | ThoughtWorks | Timpani Software | Mozilla Project | ? | Urbancode | Urbancode | ? | PMEase | PMEase | ? | ? | Apache | CSH Consult | Viewtier Systems | John Keiser | Zutubi | JetBrains |
Open Source | +OpenAPI | ||||||||||||||||||
Implementation language | Java | C# | Ruby | C# | Perl | Python | Java | Java | Java | Java | Java | Java | C# | Java | C# | Java | Perl | Java | Java |
Free | Free 2-user version | Free for Open Source Projects | Free for Open Source Projects | Free for Open Source Projects | Free for Small Teams and Open Source Projects | Free for Open Source Projects | |||||||||||||
Issue tracker | JIRA | JIRA | JIRA | ? | Bugzilla | ? | private | JIRA | ? | Supports | SourceForge | ? | ? | JIRA | Official support | Bugzilla | Jira | Jira | |
Online demo | here | here | openauthenticated | here | Working implementation | ? | request | ? | here | Use demo/domo | ? | ? | Working implementation on Codehaus | here | Eval download | Working implementation | coming soon | Online Demo | |
Number of active developers | 5 | 2 | 3 | 5 | ? | ? | ? | ? | ? | ? | 2 | ? | ? | 4 | 1 | ? | ? | 2 | 5~7 |
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 | ? | ? | ? | ? | ? | ||||||||||||||
Team Foundation Server | ? | (via plugin) | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | |||
VSS | ? | ? | ? | ? | |||||||||||||||
VSS Journal | ? | ? | ? | ? | ? | ||||||||||||||
SCM related support | |||||||||||||||||||
SCM filtering | ? | ? | ? | ? | ? | ||||||||||||||
Multi-SCM | ? | about | ? | ? | ? | ? | |||||||||||||
Can create new SCM repositories | Via web admin | ? | ? | ? | ? | ? | |||||||||||||
Build management | |||||||||||||||||||
Parallel builds (ability to build several projects simultaneously) | ? | ? | ? | ? | |||||||||||||||
Distributed builds | ? | ? | ? | ? | |||||||||||||||
Agents' code auto-updated | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ||||||
Manually force builds | ? | ? | ? | ? | Not needed | ||||||||||||||
SCM trigged builds | (if supported by SCM) | (if supported by SCM) | ? | ? | ? | ? | |||||||||||||
SCM poll based builds | Tinderbox2 | ? | ? | ? | ? | ||||||||||||||
Temporal build scheduling | ? | ? | ? | ? | |||||||||||||||
Builds promotion | ? | ? | ? | about | ? | ? | ? | ||||||||||||
Interproject Dependencies | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ||||||
Builds deletion | ? | ? | ? | ? | ? | ? | ? | ? | ? | ||||||||||
Reproduce history builds | ? | ? | ? | ? | ? | ? | ? | ||||||||||||
Proactive (can prevent build breakages) | ? | ? | ? | ? | ? | ? | ? | ? | ? | ||||||||||
Detect new failing tests while build | ? | ? | ? | ? | ? | ? | (via report) | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ||
Notify when first test in build fails | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | |||
Security | |||||||||||||||||||
User authentication | Apache recommended | For management | ? | ? | ? | ? | For management | ||||||||||||
User authorization schemes | ? | ? | ? | ? | ? | Database | Admin/ Developer/Guest | ||||||||||||
LDAP Integration | ? | ? | ? | ? | ? | ? | ? | ? | |||||||||||
Kerebos | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ||
Single Sign On | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ||
Custom JAAS | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ||
Publishing | |||||||||||||||||||
Confluence | ? | ? | ? | ? | ? | ? | |||||||||||||
? | ? | ? | ? | ||||||||||||||||
Run executable | ? | ? | ? | ? | |||||||||||||||
FTP | ? | ? | ? | ? | |||||||||||||||
IRC | ? | ? | ? | ? | ? | ||||||||||||||
Jabber | ? | ? | ? | ? | ? | ||||||||||||||
Lotus Sametime | ? | ? | ? | ? | |||||||||||||||
NetSend | ? | ? | ? | ? | |||||||||||||||
ProjectStart | ? | ? | ? | ? | |||||||||||||||
RSS | ? | ? | ? | ? | |||||||||||||||
SCP | ? | ? | ? | ? | ? | ||||||||||||||
Windows System Tray | ? | ? | ? | ? | |||||||||||||||
Formatted Logging | XML | XML | YAML | (In Relational Db) | ? | ? | Xml, Html | ? | ? | (In DB) | |||||||||
Yahoo Messenger | ? | ? | ? | ? | |||||||||||||||
MSN Messenger | ? | ? | ? | ? | ? | ? | ? | ? | |||||||||||
X10 | ? | ? | ? | ? | ? | ||||||||||||||
Web interface | |||||||||||||||||||
View changesets | Bonsai | ? | ? | ? | ? | Bonsai | |||||||||||||
Add new projects | "Tree" only | ? | ? | ? | ? | "Tree" only | |||||||||||||
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 | ? | ? | ? | ? | Ajax | ||||||||||||||
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') | ? | about | ? | ? | ? | ? | |||||||||||||
Tools integration | |||||||||||||||||||
ViewCVS | ? | ? | ? | ? | ? | ||||||||||||||
Fisheye | ? | ? | ? | ? | |||||||||||||||
Bonsai | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | |||||||
Bugzilla | ? | ? | ? | ? | |||||||||||||||
Scarab | ? | ? | ? | ? | ? | ||||||||||||||
Trac | ? | ? | ? | ? | ? | ? | ? | ||||||||||||
sourceforge.net | ? | ? | ? | ? | ? | ? | ? | ||||||||||||
rubyforge.org | ? | ? | ? | ? | ? | ? | ? | ||||||||||||
JIRA | ? | ? | ? | ? | |||||||||||||||
Confluence | ? | ? | ? | ? | |||||||||||||||
ClearQuest | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ||
JUnit result rendering | ? | ? | ? | ? | |||||||||||||||
NUnit result rendering | ? | ? | ? | ? | |||||||||||||||
Clover result rendering | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | (/)about | |||
Selenium result rendering | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | (/)about | |||
IntelliJ Plugin | ? | ? | ? | ? | ? | ||||||||||||||
Eclipse Plugin | ? | ? | ? | ? | |||||||||||||||
VS 2005 Plugin | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | |||
Remote Management API | |||||||||||||||||||
SOAP | Asynchronous Messaging | ? | ? | ? | ? | ? | |||||||||||||
XML-RPC | n/a | ? | ? | ? | ? | ||||||||||||||
JMX | N/A | N/A | n/a | ? | ? | ? | ? | ||||||||||||
Hessian | ? | ? | n/a | ? | ? | ? | ? | ||||||||||||
Client Library | ? | ? | ? | ? | ? | ? | about | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | OpenAPI |
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 | Some SCM clients | |
Execution platform | JVM | Windows, .NET, Mono | Ruby | Windows, .NET, Mono | Perl | ? | JVM | JVM | ? | JVM | JVM | ? | ? | JVM | Windows, Linux | Windows, Unix, Linux, Mac OS X, Solaris, HP UX | Perl | JVM | 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 | 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 | Any |
Requires modifications to build scripts | NO | NO | NO | NO | ? | NO | NO | ? | NO | NO | ? | ? | NO | NO | NO | NO | NO | ||
Supports multiple projects | ? | ? | ? | ? | |||||||||||||||
Automatic configuration from build script | Maven only | ||||||||||||||||||
Text file configuration | XML | XML | YAML | Stored in SQL Db - XML input/export coming soon | ? | XML import/export. Database backend | ? | ? | ? | XML configs for projects |
相关文章推荐
- (转载)多种持续集成工具全面比较
- 读书笔记:持续集成工具的选择和比较
- 项目管理大法归档 - 思维导图、原型工具、接口测试、设计模式、版本管理、单元测试、持续集成、代码审查、Bug 跟踪
- 持续集成工具Jenkins学习总结
- 持续集成工具的选择
- 【工具使用】持续集成工具----Jenkins
- 数据库开发的持续集成 - Sql Server数据库结构比较
- 持续集成的魅力:工具推荐
- 持续集成工具集之六 参考
- SpringCloud(第 056 篇)CentOS7 安装 jenkins 持续集成工具
- 绘制不规则位图方法总结,多种实现方法,全面测试比较!
- 持续集成工具和环境搭建
- 持续集成学习笔记-入门篇(2)持续集成工具选择
- Node.js环境下Koa2添加travis ci持续集成工具的方法
- 轻松搭建持续集成工具jenkins
- 持续集成工具Travis CI和Jenkins
- Jenkins持续集成工具
- 持续集成工具的选择
- iOS_OC 字典模型转换工具的比较(Mantle和MJExtension和Jsonmodel) 持续更新
- 绘制不规则位图方法总结,多种实现方法,全面测试比较