持续集成概念与要点

持续集成概念与要点

一、Continuous Integration(持续集成)
(1)持续集成要求开发人员频繁地提交产品,这个频率通常是至少每天一次,有时候可以多次;
(2)每次集成会通过自动化构建(automated build)的方式快速地验证,以确保新提交的变化不会造成新的问题;
(3)集成的快速验证过程中出现异常,相关人员应该快速响应。

二、Build(构建)
(1)构建是验证软件可以作为一个一致的单元运行的过程;
(2)验证活动一般包括源码编译、测试、审查和部署。

三、Daily Build(日构建)
持续集成通常要求每天产生一个Build。

四、Daily Run(日执行)
持续集成通常要求每天运行自动化测试。

五、Build Verification Testing(构建验证测试)
验证Build是否成功的测试。

六、Single Trunk\mainline(单主干开发)
使用持续集成开发的产品,其源码只用单一主干的方式统一管理。

七、Release Branch(分支发布)
某些特性需要上线时,拉出分支进行发布,发布后,分支不允许再增加新功能。

八、Hotfix Branch(紧急补丁分支)
已发布的版本遇到重大bug,急需解决时,可开紧急分支修复bug,以最大程度上减少对其他开发人员的影响。

九、Local Build(本地构建)
不能一有代码修改就commit代码吧,rd工程师在开发机上执行的构建,目的是避免check in动作导致主干被破坏。

十、Version Control System(版本控制系统)
-_-,不多说了,常用的有svn,cvs等。

十一、Continuous Integration Server(持续集成服务器)
完成CI的自动化构建过程,常用的有Hudson等。

总述:总的来说,持续集成的敏捷开发的一部分,敏捷宣言是:
(1)简单Simplicity;
(2)沟通Communication;
(3)反馈Feedback;
(4)决断Courage;

注:本人使用瀑布式开发模式做项目已两年之久,对持续集成有一定了解,敏捷是一种思想,并不是万能的。

评论关闭。