最早听到持续集成概念是在Kent Beck的《极限编程——拥抱变化》里面
Kent Beck认为将开发、集成和部署分离在多个阶段完成是代价巨大的,因为集成的时候会遇到很多开发时候没有遇到的问题,所以有必要将这些问题提早发现,将集成和部署工作分摊到日常中去而无需专门的阶段完成,通过每日构建来实现集成的持续化,这就意味需要更多的集成次数和更多的时间,所以需要工具的支撑。持续集成的另一个好处就是不需要等待开发完成或者关键里程碑完成时才发布版本,可以以任何一次稳定的集成之后的版本作为发布版本,其响应能力大大提高了。
主流的持续集成工具有:
1、Apache Continuum
2、Cruise Control(ThoughtWorks三大法宝Mingle、CC、Twist之一)
3、Hudson
Hudson是在开源届广泛认知的持续集成服务器,其支持CVS和SVN作为SCM,支持ANT和MAVEN作为构建工具,支持定时或者特定事件触发集成任务,给指定人员发送错误邮件等等,并且操作十分简单。HUDSON自身没有持续集成能力,只是作为一个整合SCM,ANT,MAVEN和EMAIL的工具存在。
HUDSON官方下载地址:http://hudson-ci.org/