写在前面
“Continuous Integration doesn’t get rid of bugs, but it does make them dramatically easier to find and remove.”
— Martin Fowler, Chief Scientist, ThoughtWorks
什么是CI
CI(Continuous Integration)是一种开发实践,要求开发者每天多次集成代码到代码库。每次集成代码都会自动构建,使得团队可以尽早的发现问题并解决问题。
为什么使用CI
假设一个团队中开发人员每天下班后对当天的代码进行集成,等到第二天上班之后开发人员拿到集成的结果,如果有问题在第二天进行修改。这个反馈环的周期长度达到24小时,开发人员在第一天完成的工作、提交的代码会在第二天发现有冲突或者测试不通过,那么第二天则需要对前一天的代码进行修改,并在第二天的晚上继续集成,有可能集成在第三天还是无法通过。
如果使用持续集成之后,开发人员在一天进行很多次的提交,可以很快的拿到集成结果,并进行修改再次提交。这样快速的反馈,提高了开发人员的工作效率,进而提高了整个团队的工作效率,团队可以将更多的时间用在开发新功能上,而不是解决问题上。
持续集成还有其他的好处:
1) 告别漫长且令人紧张的集成
2)提高可视化,增加沟通
3)能够尽快的发现问题,并将问题解决在萌芽状态
4)将更多的时间花在增加新功能上
5)时刻有可部署的程序
CI的常用工具
我司常用的CI工具包括Jenkins和Go CD。当然市面上还有很多常用的工具,此处不做赘述。
网友评论