根据目前软件发展的特点,在选择持续集成工具时需要考虑如下几个方面(不包括金钱投入):
- 版本控制工具的支持。在你的企业中,使用哪种版本控制工具(Git, Hg,SVN,ClearCase等等)。
- 每个构建是否可以支持指定多个代码源URLs。
- 是否支持构建产物管理库。
- 是否支持部署流水线,类似于一个或多个构建完成后触发另一个构建。
- 是否支持并行构建。
- 是否支持构建网格,以及对网格内机器管理的能力。即,能否将多个构建同时分配到多个构建机器上执行,以提高执行速度。
- 是否有良好的开放API,比如触发构建API、结果查询API、标准的Report接口等等。
- 对于安全性来说,是否支持企业所用的安全机制,如LDAP等等。
- 是否有良好的Dashboard。
- 与构建工具(如Maven,Make,Rake,Nant等)和测试工具的集成。
另外,“有良好的开放API”是任何工具选择的重要标准。因为,自动化是持续集成的关键。如果一个工具只能通过一个Web界面来操作的话,那简直就是一个噩梦。
详细的工具及特性列表见这里。