SlideShare a Scribd company logo
1 of 30
Download to read offline
持续交付的魅力
百度持续集成经验分享

  乔梁@百度.项目管理部
自我介绍
                              2


乔梁
 – 百度项目管理部
     • 高级架构师

 – InfoQ
     • 敏捷社区 特约编辑
     • 《持续集成》专栏作者

 – 曾就职于ThoughtWorks多年
     • 资深咨询师
     • 产品Go的交付经理

 – 《Continuous Delivery》的译者
什么是持续集成
          3
持续集成是
                   4


• 一项软件开发实践
• 团队的成员频繁集成他们的工作
• 通常每人每天至少集成一次
• 每次集成都通过自动化构建验证
Outline
                    5




 1   - 持续集成,从哪里开始



 2   - 持续交付,追求卓越
6


              配置
              管理

构建                           发布
集成                           管理

             持续
             交付
数据                          环境与
管理                           部署

              测试


     配置与发布管理模型,来自《持续交付》第15章,参见
     http://www.continuousdelivery.info/index.php/2011/07/19/CDMM-V1/
7




1- 持续集成,从哪里开始
原有的开发模式
          8
9


              配置
              管理

构建                           发布
集成                           管理

             持续
             交付
数据                          环境与
管理                           部署

              测试


     配置与发布管理模型,来自《持续交付》第15章,参见
     http://www.continuousdelivery.info/index.php/2011/07/19/CDMM-V1/
主干开发,分支发布
                                                       10




            参见:http://www.infoq.com/cn/articles/devops-not-legend
11


              配置
              管理

构建                           发布
集成                           管理

             持续
             交付
数据                          环境与
管理                           部署

              测试


     配置与发布管理模型,来自《持续交付》第15章,参见
     http://www.continuousdelivery.info/index.php/2011/07/19/CDMM-V1/
六步提交法
                                                                 12


其他人员的提交
                                            二级构建阶段
                                  6

  1           4             5         提交构建


      2
          3       4’
          第一次本地验证 第二次本地验证


  关键在于:提交之前要做本地验证。


                  图片来自 InfoQ的文章《持续集成之戏说Check-in Dance》
                  链接为 http://www.infoq.com/cn/news/2011/01/ci-check-in-dance
编译依赖本地管理
           13
14


              配置
              管理

构建                           发布
集成                           管理

             持续
             交付
数据                          环境与
管理                           部署

              测试


     配置与发布管理模型,来自《持续交付》第15章,参见
     http://www.continuousdelivery.info/index.php/2011/07/19/CDMM-V1/
测试代码与产品代码同源
              15
自动化测试分级
                                                        16




          系统测试

          模块测试


          单元测试




           参见http://www.infoq.com/cn/news/2011/02/ci-test-triangle
效果
                                                                        17



             Agile Team


          Analysis+Design         Centralized QA         IT Operator

            Development             Hardening        Release and Operations

             Test + Demo
                                                   最后一公里
迭代    0       1     N       N+1




                                                      图片由Jez Humble提供
18




2- 持续交付,追求卓越
19


              配置
              管理

构建                           发布
集成                           管理

             持续
             交付
数据                          环境与
管理                           部署

              测试


     配置与发布管理模型,来自《持续交付》第15章,参见
     http://www.continuousdelivery.info/index.php/2011/07/19/CDMM-V1/
一键式部署
                                                             20




        参见:http://www.infoq.com/cn/news/2011/07/ci-automatic-deployment
21


              配置
              管理

构建                           发布
集成                           管理

             持续
             交付
数据                          环境与
管理                           部署

              测试


     配置与发布管理模型,来自《持续交付》第15章,参见
     http://www.continuousdelivery.info/index.php/2011/07/19/CDMM-V1/
脚本及配置放入版本库
                                                            22




       参见:http://www.infoq.com/cn/news/2011/07/ci-automatic-deployment
23


              配置
              管理

构建                           发布
集成                           管理

             持续
             交付
数据                          环境与
管理                           部署

              测试


     配置与发布管理模型,来自《持续交付》第15章,参见
     http://www.continuousdelivery.info/index.php/2011/07/19/CDMM-V1/
配置开关项
        24
25


•   建立了全自动的、可靠的持续发布流水线
•   产品发布周期从9天缩短到3天
持续交付,追求卓越
                         26




       Development
          Testing
        Deployment
   持续且有节奏地向生产环境部署



                     由Jez Humble提供
小结
             27


• 主干开发
• 代码同源
• 分级测试
• 所有内容版本控制
• 功能开关
• 一键式部署
让持续交付成为现实
                                    28


• 持续集成和版本控制
• 全流程自动化
• 环境标准化
                     更多实践与方法,请参见
• 通过版本控制一键式发布
                《持续交付:Continuous Delivery》。
Q&A
                                          29



  乔梁

      微博: http://weibo.com/2036045341

      博客: http://blog.csdn.net/tony1130

      邮件: qiaoliang.email@gmail.com

      MSN: sagittatius@hotmail.com

      中文站:www.continuousdelivery.info
关注我们:t.baidu-tech.com

          资料下载和详细介绍:infoq.com/cn/zones/baidu-salon
“畅想•交流•争鸣•聚会”是百度技术沙龙的宗旨。 百度技术沙龙是由百度与InfoQ中文站定期组织的线下技术交流活动。目
的是让中高端技术人员有一个相对自由的思想交流和交友沟通的的平台。主要分讲师分享和OpenSpace两个关键环节,每期
只关注一个焦点话题。

讲师分享和现场Q&A让大家了解百度和其他知名网站技术支持的先进实践经验,OpenSpace环节是百度技术沙龙主题的升华
和展开,提供一个自由交流的平台。针对当期主题,参与者人人都可以发起话题,展开讨论。



                  InfoQ 策划·
                          组织·
                            实施
                  关注我们:weibo.com/infoqchina

More Related Content

Similar to 百度持续交付之旅 -百度技术沙龙16

腾讯大讲堂30 运维工具让你的开发运营更轻松
腾讯大讲堂30 运维工具让你的开发运营更轻松腾讯大讲堂30 运维工具让你的开发运营更轻松
腾讯大讲堂30 运维工具让你的开发运营更轻松
areyouok
 
Continuous integration
Continuous integrationContinuous integration
Continuous integration
netdbncku
 
分会场六利用赛门铁克的Sort工具降低风险,提高应用的持续运行时间 中文版
分会场六利用赛门铁克的Sort工具降低风险,提高应用的持续运行时间 中文版分会场六利用赛门铁克的Sort工具降低风险,提高应用的持续运行时间 中文版
分会场六利用赛门铁克的Sort工具降低风险,提高应用的持续运行时间 中文版
ITband
 
P6 Primavera 客户端的安装和配置
P6 Primavera 客户端的安装和配置P6 Primavera 客户端的安装和配置
P6 Primavera 客户端的安装和配置
epst
 
版本控制系统进阶
版本控制系统进阶版本控制系统进阶
版本控制系统进阶
killmyday
 
service-oriented agile team-Q con-beijing2012
service-oriented agile team-Q con-beijing2012service-oriented agile team-Q con-beijing2012
service-oriented agile team-Q con-beijing2012
Qiao Liang
 

Similar to 百度持续交付之旅 -百度技术沙龙16 (20)

腾讯大讲堂30 运维工具让你的开发运营更轻松
腾讯大讲堂30 运维工具让你的开发运营更轻松腾讯大讲堂30 运维工具让你的开发运营更轻松
腾讯大讲堂30 运维工具让你的开发运营更轻松
 
Continuous integration
Continuous integrationContinuous integration
Continuous integration
 
Operation Logic Manager
Operation Logic ManagerOperation Logic Manager
Operation Logic Manager
 
分会场六利用赛门铁克的Sort工具降低风险,提高应用的持续运行时间 中文版
分会场六利用赛门铁克的Sort工具降低风险,提高应用的持续运行时间 中文版分会场六利用赛门铁克的Sort工具降低风险,提高应用的持续运行时间 中文版
分会场六利用赛门铁克的Sort工具降低风险,提高应用的持续运行时间 中文版
 
twMVC#24 | 開發團隊的敏捷之路(未完成)
twMVC#24 | 開發團隊的敏捷之路(未完成)twMVC#24 | 開發團隊的敏捷之路(未完成)
twMVC#24 | 開發團隊的敏捷之路(未完成)
 
Ch15
Ch15Ch15
Ch15
 
客服系統的軟體架設計分享
客服系統的軟體架設計分享客服系統的軟體架設計分享
客服系統的軟體架設計分享
 
Cmdb intro
Cmdb intro Cmdb intro
Cmdb intro
 
P6 Primavera 客户端的安装和配置
P6 Primavera 客户端的安装和配置P6 Primavera 客户端的安装和配置
P6 Primavera 客户端的安装和配置
 
版本控制系统进阶
版本控制系统进阶版本控制系统进阶
版本控制系统进阶
 
打造面向服务的敏捷团队 Q con-beijing2012
打造面向服务的敏捷团队 Q con-beijing2012打造面向服务的敏捷团队 Q con-beijing2012
打造面向服务的敏捷团队 Q con-beijing2012
 
service-oriented agile team-Q con-beijing2012
service-oriented agile team-Q con-beijing2012service-oriented agile team-Q con-beijing2012
service-oriented agile team-Q con-beijing2012
 
導讀持續交付 2.0 - 談當代軟體交付之虛實融合
導讀持續交付 2.0 - 談當代軟體交付之虛實融合導讀持續交付 2.0 - 談當代軟體交付之虛實融合
導讀持續交付 2.0 - 談當代軟體交付之虛實融合
 
SRE CH27 - Reliable Product Launches at Scale
SRE CH27 - Reliable Product Launches at Scale SRE CH27 - Reliable Product Launches at Scale
SRE CH27 - Reliable Product Launches at Scale
 
The way to continuous delivery
The way to continuous deliveryThe way to continuous delivery
The way to continuous delivery
 
Mocha Bsm
Mocha BsmMocha Bsm
Mocha Bsm
 
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_敏捷测试与质量管理分会场演讲话题:快速可持续的高质量发布(路宁)
 
持续交付最佳实践——百度技术沙龙201110
持续交付最佳实践——百度技术沙龙201110持续交付最佳实践——百度技术沙龙201110
持续交付最佳实践——百度技术沙龙201110
 
Network security reesjohnson
Network security reesjohnsonNetwork security reesjohnson
Network security reesjohnson
 

More from drewz lin

Web security-–-everything-we-know-is-wrong-eoin-keary
Web security-–-everything-we-know-is-wrong-eoin-kearyWeb security-–-everything-we-know-is-wrong-eoin-keary
Web security-–-everything-we-know-is-wrong-eoin-keary
drewz lin
 
Via forensics appsecusa-nov-2013
Via forensics appsecusa-nov-2013Via forensics appsecusa-nov-2013
Via forensics appsecusa-nov-2013
drewz lin
 
Phu appsec13
Phu appsec13Phu appsec13
Phu appsec13
drewz lin
 
Owasp2013 johannesullrich
Owasp2013 johannesullrichOwasp2013 johannesullrich
Owasp2013 johannesullrich
drewz lin
 
Owasp advanced mobile-application-code-review-techniques-v0.2
Owasp advanced mobile-application-code-review-techniques-v0.2Owasp advanced mobile-application-code-review-techniques-v0.2
Owasp advanced mobile-application-code-review-techniques-v0.2
drewz lin
 
I mas appsecusa-nov13-v2
I mas appsecusa-nov13-v2I mas appsecusa-nov13-v2
I mas appsecusa-nov13-v2
drewz lin
 
Defeating xss-and-xsrf-with-my faces-frameworks-steve-wolf
Defeating xss-and-xsrf-with-my faces-frameworks-steve-wolfDefeating xss-and-xsrf-with-my faces-frameworks-steve-wolf
Defeating xss-and-xsrf-with-my faces-frameworks-steve-wolf
drewz lin
 
Csrf not-all-defenses-are-created-equal
Csrf not-all-defenses-are-created-equalCsrf not-all-defenses-are-created-equal
Csrf not-all-defenses-are-created-equal
drewz lin
 
Chuck willis-owaspbwa-beyond-1.0-app secusa-2013-11-21
Chuck willis-owaspbwa-beyond-1.0-app secusa-2013-11-21Chuck willis-owaspbwa-beyond-1.0-app secusa-2013-11-21
Chuck willis-owaspbwa-beyond-1.0-app secusa-2013-11-21
drewz lin
 
Appsec usa roberthansen
Appsec usa roberthansenAppsec usa roberthansen
Appsec usa roberthansen
drewz lin
 
Appsec usa2013 js_libinsecurity_stefanodipaola
Appsec usa2013 js_libinsecurity_stefanodipaolaAppsec usa2013 js_libinsecurity_stefanodipaola
Appsec usa2013 js_libinsecurity_stefanodipaola
drewz lin
 
Appsec2013 presentation-dickson final-with_all_final_edits
Appsec2013 presentation-dickson final-with_all_final_editsAppsec2013 presentation-dickson final-with_all_final_edits
Appsec2013 presentation-dickson final-with_all_final_edits
drewz lin
 
Appsec2013 presentation
Appsec2013 presentationAppsec2013 presentation
Appsec2013 presentation
drewz lin
 
Appsec 2013-krehel-ondrej-forensic-investigations-of-web-exploitations
Appsec 2013-krehel-ondrej-forensic-investigations-of-web-exploitationsAppsec 2013-krehel-ondrej-forensic-investigations-of-web-exploitations
Appsec 2013-krehel-ondrej-forensic-investigations-of-web-exploitations
drewz lin
 
Appsec2013 assurance tagging-robert martin
Appsec2013 assurance tagging-robert martinAppsec2013 assurance tagging-robert martin
Appsec2013 assurance tagging-robert martin
drewz lin
 
Amol scadaowasp
Amol scadaowaspAmol scadaowasp
Amol scadaowasp
drewz lin
 
Agile sdlc-v1.1-owasp-app sec-usa
Agile sdlc-v1.1-owasp-app sec-usaAgile sdlc-v1.1-owasp-app sec-usa
Agile sdlc-v1.1-owasp-app sec-usa
drewz lin
 
Vulnex app secusa2013
Vulnex app secusa2013Vulnex app secusa2013
Vulnex app secusa2013
drewz lin
 
基于虚拟化技术的分布式软件测试框架
基于虚拟化技术的分布式软件测试框架基于虚拟化技术的分布式软件测试框架
基于虚拟化技术的分布式软件测试框架
drewz lin
 
新浪微博稳定性经验谈
新浪微博稳定性经验谈新浪微博稳定性经验谈
新浪微博稳定性经验谈
drewz lin
 

More from drewz lin (20)

Web security-–-everything-we-know-is-wrong-eoin-keary
Web security-–-everything-we-know-is-wrong-eoin-kearyWeb security-–-everything-we-know-is-wrong-eoin-keary
Web security-–-everything-we-know-is-wrong-eoin-keary
 
Via forensics appsecusa-nov-2013
Via forensics appsecusa-nov-2013Via forensics appsecusa-nov-2013
Via forensics appsecusa-nov-2013
 
Phu appsec13
Phu appsec13Phu appsec13
Phu appsec13
 
Owasp2013 johannesullrich
Owasp2013 johannesullrichOwasp2013 johannesullrich
Owasp2013 johannesullrich
 
Owasp advanced mobile-application-code-review-techniques-v0.2
Owasp advanced mobile-application-code-review-techniques-v0.2Owasp advanced mobile-application-code-review-techniques-v0.2
Owasp advanced mobile-application-code-review-techniques-v0.2
 
I mas appsecusa-nov13-v2
I mas appsecusa-nov13-v2I mas appsecusa-nov13-v2
I mas appsecusa-nov13-v2
 
Defeating xss-and-xsrf-with-my faces-frameworks-steve-wolf
Defeating xss-and-xsrf-with-my faces-frameworks-steve-wolfDefeating xss-and-xsrf-with-my faces-frameworks-steve-wolf
Defeating xss-and-xsrf-with-my faces-frameworks-steve-wolf
 
Csrf not-all-defenses-are-created-equal
Csrf not-all-defenses-are-created-equalCsrf not-all-defenses-are-created-equal
Csrf not-all-defenses-are-created-equal
 
Chuck willis-owaspbwa-beyond-1.0-app secusa-2013-11-21
Chuck willis-owaspbwa-beyond-1.0-app secusa-2013-11-21Chuck willis-owaspbwa-beyond-1.0-app secusa-2013-11-21
Chuck willis-owaspbwa-beyond-1.0-app secusa-2013-11-21
 
Appsec usa roberthansen
Appsec usa roberthansenAppsec usa roberthansen
Appsec usa roberthansen
 
Appsec usa2013 js_libinsecurity_stefanodipaola
Appsec usa2013 js_libinsecurity_stefanodipaolaAppsec usa2013 js_libinsecurity_stefanodipaola
Appsec usa2013 js_libinsecurity_stefanodipaola
 
Appsec2013 presentation-dickson final-with_all_final_edits
Appsec2013 presentation-dickson final-with_all_final_editsAppsec2013 presentation-dickson final-with_all_final_edits
Appsec2013 presentation-dickson final-with_all_final_edits
 
Appsec2013 presentation
Appsec2013 presentationAppsec2013 presentation
Appsec2013 presentation
 
Appsec 2013-krehel-ondrej-forensic-investigations-of-web-exploitations
Appsec 2013-krehel-ondrej-forensic-investigations-of-web-exploitationsAppsec 2013-krehel-ondrej-forensic-investigations-of-web-exploitations
Appsec 2013-krehel-ondrej-forensic-investigations-of-web-exploitations
 
Appsec2013 assurance tagging-robert martin
Appsec2013 assurance tagging-robert martinAppsec2013 assurance tagging-robert martin
Appsec2013 assurance tagging-robert martin
 
Amol scadaowasp
Amol scadaowaspAmol scadaowasp
Amol scadaowasp
 
Agile sdlc-v1.1-owasp-app sec-usa
Agile sdlc-v1.1-owasp-app sec-usaAgile sdlc-v1.1-owasp-app sec-usa
Agile sdlc-v1.1-owasp-app sec-usa
 
Vulnex app secusa2013
Vulnex app secusa2013Vulnex app secusa2013
Vulnex app secusa2013
 
基于虚拟化技术的分布式软件测试框架
基于虚拟化技术的分布式软件测试框架基于虚拟化技术的分布式软件测试框架
基于虚拟化技术的分布式软件测试框架
 
新浪微博稳定性经验谈
新浪微博稳定性经验谈新浪微博稳定性经验谈
新浪微博稳定性经验谈
 

百度持续交付之旅 -百度技术沙龙16

  • 2. 自我介绍 2 乔梁 – 百度项目管理部 • 高级架构师 – InfoQ • 敏捷社区 特约编辑 • 《持续集成》专栏作者 – 曾就职于ThoughtWorks多年 • 资深咨询师 • 产品Go的交付经理 – 《Continuous Delivery》的译者
  • 4. 持续集成是 4 • 一项软件开发实践 • 团队的成员频繁集成他们的工作 • 通常每人每天至少集成一次 • 每次集成都通过自动化构建验证
  • 5. Outline 5 1 - 持续集成,从哪里开始 2 - 持续交付,追求卓越
  • 6. 6 配置 管理 构建 发布 集成 管理 持续 交付 数据 环境与 管理 部署 测试 配置与发布管理模型,来自《持续交付》第15章,参见 http://www.continuousdelivery.info/index.php/2011/07/19/CDMM-V1/
  • 9. 9 配置 管理 构建 发布 集成 管理 持续 交付 数据 环境与 管理 部署 测试 配置与发布管理模型,来自《持续交付》第15章,参见 http://www.continuousdelivery.info/index.php/2011/07/19/CDMM-V1/
  • 10. 主干开发,分支发布 10 参见:http://www.infoq.com/cn/articles/devops-not-legend
  • 11. 11 配置 管理 构建 发布 集成 管理 持续 交付 数据 环境与 管理 部署 测试 配置与发布管理模型,来自《持续交付》第15章,参见 http://www.continuousdelivery.info/index.php/2011/07/19/CDMM-V1/
  • 12. 六步提交法 12 其他人员的提交 二级构建阶段 6 1 4 5 提交构建 2 3 4’ 第一次本地验证 第二次本地验证 关键在于:提交之前要做本地验证。 图片来自 InfoQ的文章《持续集成之戏说Check-in Dance》 链接为 http://www.infoq.com/cn/news/2011/01/ci-check-in-dance
  • 14. 14 配置 管理 构建 发布 集成 管理 持续 交付 数据 环境与 管理 部署 测试 配置与发布管理模型,来自《持续交付》第15章,参见 http://www.continuousdelivery.info/index.php/2011/07/19/CDMM-V1/
  • 16. 自动化测试分级 16 系统测试 模块测试 单元测试 参见http://www.infoq.com/cn/news/2011/02/ci-test-triangle
  • 17. 效果 17 Agile Team Analysis+Design Centralized QA IT Operator Development Hardening Release and Operations Test + Demo 最后一公里 迭代 0 1 N N+1 图片由Jez Humble提供
  • 19. 19 配置 管理 构建 发布 集成 管理 持续 交付 数据 环境与 管理 部署 测试 配置与发布管理模型,来自《持续交付》第15章,参见 http://www.continuousdelivery.info/index.php/2011/07/19/CDMM-V1/
  • 20. 一键式部署 20 参见:http://www.infoq.com/cn/news/2011/07/ci-automatic-deployment
  • 21. 21 配置 管理 构建 发布 集成 管理 持续 交付 数据 环境与 管理 部署 测试 配置与发布管理模型,来自《持续交付》第15章,参见 http://www.continuousdelivery.info/index.php/2011/07/19/CDMM-V1/
  • 22. 脚本及配置放入版本库 22 参见:http://www.infoq.com/cn/news/2011/07/ci-automatic-deployment
  • 23. 23 配置 管理 构建 发布 集成 管理 持续 交付 数据 环境与 管理 部署 测试 配置与发布管理模型,来自《持续交付》第15章,参见 http://www.continuousdelivery.info/index.php/2011/07/19/CDMM-V1/
  • 25. 25 • 建立了全自动的、可靠的持续发布流水线 • 产品发布周期从9天缩短到3天
  • 26. 持续交付,追求卓越 26 Development Testing Deployment 持续且有节奏地向生产环境部署 由Jez Humble提供
  • 27. 小结 27 • 主干开发 • 代码同源 • 分级测试 • 所有内容版本控制 • 功能开关 • 一键式部署
  • 28. 让持续交付成为现实 28 • 持续集成和版本控制 • 全流程自动化 • 环境标准化 更多实践与方法,请参见 • 通过版本控制一键式发布 《持续交付:Continuous Delivery》。
  • 29. Q&A 29 乔梁 微博: http://weibo.com/2036045341 博客: http://blog.csdn.net/tony1130 邮件: qiaoliang.email@gmail.com MSN: sagittatius@hotmail.com 中文站:www.continuousdelivery.info
  • 30. 关注我们:t.baidu-tech.com 资料下载和详细介绍:infoq.com/cn/zones/baidu-salon “畅想•交流•争鸣•聚会”是百度技术沙龙的宗旨。 百度技术沙龙是由百度与InfoQ中文站定期组织的线下技术交流活动。目 的是让中高端技术人员有一个相对自由的思想交流和交友沟通的的平台。主要分讲师分享和OpenSpace两个关键环节,每期 只关注一个焦点话题。 讲师分享和现场Q&A让大家了解百度和其他知名网站技术支持的先进实践经验,OpenSpace环节是百度技术沙龙主题的升华 和展开,提供一个自由交流的平台。针对当期主题,参与者人人都可以发起话题,展开讨论。 InfoQ 策划· 组织· 实施 关注我们:weibo.com/infoqchina