什么是“持续集成六步法”?“持续集成六步”是根据业界多年实践总结的持续集成工作流程和规范,提高团队协作能力,高效开发软件应用。
持续集成六步的图例说明:构建成功的线上版本其它开发人员的提交取令牌还令牌次级构建阶段6版本库中的开发分支提交构建阶段4152个人本地工作区4’3第二次本地验证第一次本地验证图例:运行测试代码修改代码流向把代码从版本库中检出到本地;为新功能或修改某个缺陷而修改代码,增加测试;运行第一次本地验证;验证无问题后,再次与版本库中的代码合并,执行本地验证;二次验证无问题后,提交代码到版本库;关注持续集成服务器运行完提交构建,直至其成功。
步骤说明步骤1: 必须在持续集成当前状态为绿色(即成功)时,才能检出代码;步骤3: 本地构建的目的是验证本人的修改没有问题;步骤4: 由于在你修改代码时,别人可能会提交代码,所以要与这些线上代码合并;只有当线上持续集成当前状态为绿色时才能迁出代码进行合并。步骤4’: 本次构建的目的是验证合并后的代码没有问题;步骤6:代码提交者要一直关注由自己的提交所触发的持续集成线上构建,直至其成功。如果失败,必须做为最高优先级任务对其进行修复。
附加说明令牌可选项,当项目成员较多,构建常因多人提交导致失败时使用;每个分支对应的持续集成只有一个令牌;在第二次检出代码前取得令牌,在线上构建成功后归还令牌。没有拿到令牌的人不允许提交代码。本地构建准确地说,应该是“个人构建”。构建内容包括编译、打包、动静态检查、所有单元测试、一些集成测试和系统级冒烟测试。必须在10分钟内完成。
附加说明提交阶段构建内部与本地构建相同。提交代码后立即触发提交阶段构建。提交阶段构建成功后,立即触发次级构建。
附加说明次级构建阶段两个前提条件:当提交构建和本地构建时间过长(比如超过10分钟);且无法进一步优化,使构建时间缩短;次级构建的内容包括剩余的自动化测试;如果次级构建时间过长,将其再分成多批运行。如果次级构建中的一些测试频繁失败,应将其移到提交构建中运行,或在提交构建中增加low leveltest增加相关功能的测试。详细说明请参见InfoQ持续集成专栏的系列文章:http://www.infoq.com/cn/news/2011/01/ci-check-in-dance

持续集成中的六步提交