市场上主流的持续集成工具有CruiseControl、Hudson、Jenkins、Apache的Continuum。
CruiseControl
简称CC,持续集成工具,主要提供了基于版本管理工具 ( 如 CVS、VSS、SVN) 感知变化或每天定时的持续集成,并提供持续集成报告、Email、Jabber等等方式通知相关负责人,其要求是需要进行日构建的项目已编写好全自动的项目编译脚本(可基于Maven或Ant)。
平台核心非常小,但是扩展性非常强。比如对版本管理工具的控制都是在本地的工具客户端完成的,它进行统一接口的封装。
Hudson
Hudson是Jenkins的前身,是基于Java开发的一种持续集成工具,用于监控程序重复的工作,包括:
1、持续的软件版本发布/测试项目。
2、监控外部调用执行的工作。
Hudson的特性
1、易于安装-只要把hudson.war部署到servlet容器,不需要数据库支持。
2、易于配置-所有配置都是通过其提供的web界面实现。
3、集成RSS/E-mail/IM-通过RSS发布构建结果或当构建失败时通过e-mail实时通知。
4、生成JUnit/TestNG测试报告。
5、分布式构建支持-Hudson能够让多台计算机一起构建/测试。
6、文件识别- Hudson能够跟踪哪次构建生成哪些jar,哪次构建使用哪个版本的jar等。
7、插件支持-Hudson可以通过插件扩展,你可以开发适合自己团队使用的工具。
Jenkins
Jenkins是一个开源软件项目,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能。
Jenkins是基于Java开发的一种持续集成工具,用于监控持续重复的工作,功能包括:
1、持续的软件版本发布/测试项目。
2、监控外部调用执行的工作。
Apache Continuum
Apache Continuum 是最新的 CI 服务器之一,也是值得关注的一个新进入者。Continuum 的安装和配置很简单:只要下载和释放 ZIP 文件,运行命令行程序,就可以运行了。基于 Web 的界面使得配置项目很容易。而且,还不需要安装 Web 服务器,因为 Continuum 内置了 Jetty Web 服务器。并且,Continuum 可以作为 Windows 服务运行,还在应用程序的某些部分嵌入了上下文敏感的文档,从而提供了很多帮助。
Apache Continuum的特性:
1、与Maven 2.x的紧密集成
2、与Maven SCM的紧密集成,支持Subversion/CVS/Starteam/Clearcase/Perforce
3、基于web的容易使用的安装和配置接口
4、Quartz-based scheduling
5、简单的添加新的项目工程的方法
6、用于integration, automation and remoting的XML-RPC interface
7、邮件提醒和IM(即时通讯)提醒IRC/Jabber/MSN