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

Mais conteúdo relacionado

Mais procurados

重构与优化
重构与优化重构与优化
重构与优化Tony Deng
 
客服系統的軟體架設計分享
客服系統的軟體架設計分享客服系統的軟體架設計分享
客服系統的軟體架設計分享Johnson Gau
 
[DevOpsDays] 硬體產業的DevOps導入與實踐 - 以工控產業為例
[DevOpsDays] 硬體產業的DevOps導入與實踐 - 以工控產業為例[DevOpsDays] 硬體產業的DevOps導入與實踐 - 以工控產業為例
[DevOpsDays] 硬體產業的DevOps導入與實踐 - 以工控產業為例TIM WANG
 
使用 Pytest 進行單元測試 (PyCon TW 2021)
使用 Pytest 進行單元測試 (PyCon TW 2021)使用 Pytest 進行單元測試 (PyCon TW 2021)
使用 Pytest 進行單元測試 (PyCon TW 2021)Max Lai
 
Static Code Analysis 靜態程式碼分析
Static Code Analysis 靜態程式碼分析Static Code Analysis 靜態程式碼分析
Static Code Analysis 靜態程式碼分析Bill Lin
 
Team foundation server 教學
Team foundation server 教學Team foundation server 教學
Team foundation server 教學Huai-Yu Cheng
 

Mais procurados (7)

重构与优化
重构与优化重构与优化
重构与优化
 
客服系統的軟體架設計分享
客服系統的軟體架設計分享客服系統的軟體架設計分享
客服系統的軟體架設計分享
 
[DevOpsDays] 硬體產業的DevOps導入與實踐 - 以工控產業為例
[DevOpsDays] 硬體產業的DevOps導入與實踐 - 以工控產業為例[DevOpsDays] 硬體產業的DevOps導入與實踐 - 以工控產業為例
[DevOpsDays] 硬體產業的DevOps導入與實踐 - 以工控產業為例
 
PHPUnit
PHPUnitPHPUnit
PHPUnit
 
使用 Pytest 進行單元測試 (PyCon TW 2021)
使用 Pytest 進行單元測試 (PyCon TW 2021)使用 Pytest 進行單元測試 (PyCon TW 2021)
使用 Pytest 進行單元測試 (PyCon TW 2021)
 
Static Code Analysis 靜態程式碼分析
Static Code Analysis 靜態程式碼分析Static Code Analysis 靜態程式碼分析
Static Code Analysis 靜態程式碼分析
 
Team foundation server 教學
Team foundation server 教學Team foundation server 教學
Team foundation server 教學
 

Semelhante a 持续集成中的六步提交

打造面向服务的敏捷团队 Q con-beijing2012
打造面向服务的敏捷团队 Q con-beijing2012打造面向服务的敏捷团队 Q con-beijing2012
打造面向服务的敏捷团队 Q con-beijing2012Qiao Liang
 
Scrum gathering 2012 shanghai_ 敏捷测试与质量管理分会场演讲话题:快速可持续的高质量发布(路宁)
Scrum gathering 2012 shanghai_ 敏捷测试与质量管理分会场演讲话题:快速可持续的高质量发布(路宁)Scrum gathering 2012 shanghai_ 敏捷测试与质量管理分会场演讲话题:快速可持续的高质量发布(路宁)
Scrum gathering 2012 shanghai_ 敏捷测试与质量管理分会场演讲话题:快速可持续的高质量发布(路宁)jalamar
 
Scrum gathering 2012 shanghai_敏捷测试与质量管理分会场演讲话题:快速可持续的高质量发布(路宁)
Scrum gathering 2012 shanghai_敏捷测试与质量管理分会场演讲话题:快速可持续的高质量发布(路宁)Scrum gathering 2012 shanghai_敏捷测试与质量管理分会场演讲话题:快速可持续的高质量发布(路宁)
Scrum gathering 2012 shanghai_敏捷测试与质量管理分会场演讲话题:快速可持续的高质量发布(路宁)LetAgileFly
 
Qa engineer training
Qa engineer trainingQa engineer training
Qa engineer trainingychw365
 
Continuous Delivery: automated testing, continuous integration and continuous...
Continuous Delivery: automated testing, continuous integration and continuous...Continuous Delivery: automated testing, continuous integration and continuous...
Continuous Delivery: automated testing, continuous integration and continuous...Jimmy Lai
 
zhuwenlongChinese
zhuwenlongChinesezhuwenlongChinese
zhuwenlongChineseWenlong Zhu
 
Web testing automation
Web testing automationWeb testing automation
Web testing automationkuozui
 
從理想、到現實的距離,開啟品味軟體測試之路 - 台灣軟體工程協會 (20220813)
從理想、到現實的距離,開啟品味軟體測試之路 - 台灣軟體工程協會 (20220813)從理想、到現實的距離,開啟品味軟體測試之路 - 台灣軟體工程協會 (20220813)
從理想、到現實的距離,開啟品味軟體測試之路 - 台灣軟體工程協會 (20220813)Rick Hwang
 
Continuous integration
Continuous integrationContinuous integration
Continuous integrationnetdbncku
 
Software Engineer Talk
Software Engineer TalkSoftware Engineer Talk
Software Engineer TalkLarry Cai
 
持续集成中的反模式
持续集成中的反模式持续集成中的反模式
持续集成中的反模式Kai Feng Zhang
 
数据库持续集成
数据库持续集成数据库持续集成
数据库持续集成wait4friend
 
[2019 DevOpsDays Taipei]Azure DevOps 建立 DevOps 團隊
[2019 DevOpsDays Taipei]Azure DevOps 建立 DevOps 團隊[2019 DevOpsDays Taipei]Azure DevOps 建立 DevOps 團隊
[2019 DevOpsDays Taipei]Azure DevOps 建立 DevOps 團隊Edward Kuo
 
软件工程 第七章
软件工程 第七章软件工程 第七章
软件工程 第七章浒 刘
 
91APP: 從 "零" 開始的 DevOps
91APP: 從 "零" 開始的 DevOps91APP: 從 "零" 開始的 DevOps
91APP: 從 "零" 開始的 DevOpsAndrew Wu
 
Part04 软件测试方法论
Part04 软件测试方法论Part04 软件测试方法论
Part04 软件测试方法论aellaw
 
Confluent流处理平台之Kafka新技术分享
Confluent流处理平台之Kafka新技术分享Confluent流处理平台之Kafka新技术分享
Confluent流处理平台之Kafka新技术分享confluent
 
钱宝坤:多浏览器集成的JavaScript单元测试工具
钱宝坤:多浏览器集成的JavaScript单元测试工具钱宝坤:多浏览器集成的JavaScript单元测试工具
钱宝坤:多浏览器集成的JavaScript单元测试工具taobao.com
 
QCon - Engineering Productivity in Large Scale Development
QCon - Engineering Productivity in Large Scale DevelopmentQCon - Engineering Productivity in Large Scale Development
QCon - Engineering Productivity in Large Scale DevelopmentVincent Xia
 
QCon - 支持百度万人开发的工具装备及百度工程效率提升实践
QCon - 支持百度万人开发的工具装备及百度工程效率提升实践 QCon - 支持百度万人开发的工具装备及百度工程效率提升实践
QCon - 支持百度万人开发的工具装备及百度工程效率提升实践 Vincent Xia
 

Semelhante a 持续集成中的六步提交 (20)

打造面向服务的敏捷团队 Q con-beijing2012
打造面向服务的敏捷团队 Q con-beijing2012打造面向服务的敏捷团队 Q con-beijing2012
打造面向服务的敏捷团队 Q con-beijing2012
 
Scrum gathering 2012 shanghai_ 敏捷测试与质量管理分会场演讲话题:快速可持续的高质量发布(路宁)
Scrum gathering 2012 shanghai_ 敏捷测试与质量管理分会场演讲话题:快速可持续的高质量发布(路宁)Scrum gathering 2012 shanghai_ 敏捷测试与质量管理分会场演讲话题:快速可持续的高质量发布(路宁)
Scrum gathering 2012 shanghai_ 敏捷测试与质量管理分会场演讲话题:快速可持续的高质量发布(路宁)
 
Scrum gathering 2012 shanghai_敏捷测试与质量管理分会场演讲话题:快速可持续的高质量发布(路宁)
Scrum gathering 2012 shanghai_敏捷测试与质量管理分会场演讲话题:快速可持续的高质量发布(路宁)Scrum gathering 2012 shanghai_敏捷测试与质量管理分会场演讲话题:快速可持续的高质量发布(路宁)
Scrum gathering 2012 shanghai_敏捷测试与质量管理分会场演讲话题:快速可持续的高质量发布(路宁)
 
Qa engineer training
Qa engineer trainingQa engineer training
Qa engineer training
 
Continuous Delivery: automated testing, continuous integration and continuous...
Continuous Delivery: automated testing, continuous integration and continuous...Continuous Delivery: automated testing, continuous integration and continuous...
Continuous Delivery: automated testing, continuous integration and continuous...
 
zhuwenlongChinese
zhuwenlongChinesezhuwenlongChinese
zhuwenlongChinese
 
Web testing automation
Web testing automationWeb testing automation
Web testing automation
 
從理想、到現實的距離,開啟品味軟體測試之路 - 台灣軟體工程協會 (20220813)
從理想、到現實的距離,開啟品味軟體測試之路 - 台灣軟體工程協會 (20220813)從理想、到現實的距離,開啟品味軟體測試之路 - 台灣軟體工程協會 (20220813)
從理想、到現實的距離,開啟品味軟體測試之路 - 台灣軟體工程協會 (20220813)
 
Continuous integration
Continuous integrationContinuous integration
Continuous integration
 
Software Engineer Talk
Software Engineer TalkSoftware Engineer Talk
Software Engineer Talk
 
持续集成中的反模式
持续集成中的反模式持续集成中的反模式
持续集成中的反模式
 
数据库持续集成
数据库持续集成数据库持续集成
数据库持续集成
 
[2019 DevOpsDays Taipei]Azure DevOps 建立 DevOps 團隊
[2019 DevOpsDays Taipei]Azure DevOps 建立 DevOps 團隊[2019 DevOpsDays Taipei]Azure DevOps 建立 DevOps 團隊
[2019 DevOpsDays Taipei]Azure DevOps 建立 DevOps 團隊
 
软件工程 第七章
软件工程 第七章软件工程 第七章
软件工程 第七章
 
91APP: 從 "零" 開始的 DevOps
91APP: 從 "零" 開始的 DevOps91APP: 從 "零" 開始的 DevOps
91APP: 從 "零" 開始的 DevOps
 
Part04 软件测试方法论
Part04 软件测试方法论Part04 软件测试方法论
Part04 软件测试方法论
 
Confluent流处理平台之Kafka新技术分享
Confluent流处理平台之Kafka新技术分享Confluent流处理平台之Kafka新技术分享
Confluent流处理平台之Kafka新技术分享
 
钱宝坤:多浏览器集成的JavaScript单元测试工具
钱宝坤:多浏览器集成的JavaScript单元测试工具钱宝坤:多浏览器集成的JavaScript单元测试工具
钱宝坤:多浏览器集成的JavaScript单元测试工具
 
QCon - Engineering Productivity in Large Scale Development
QCon - Engineering Productivity in Large Scale DevelopmentQCon - Engineering Productivity in Large Scale Development
QCon - Engineering Productivity in Large Scale Development
 
QCon - 支持百度万人开发的工具装备及百度工程效率提升实践
QCon - 支持百度万人开发的工具装备及百度工程效率提升实践 QCon - 支持百度万人开发的工具装备及百度工程效率提升实践
QCon - 支持百度万人开发的工具装备及百度工程效率提升实践
 

持续集成中的六步提交