持续交付的魅力
TRANSCRIPT
持续交付的魅力
乔梁@百度 .项目管理部
百度持续集成经验分享
2自我介绍
– 百度项目管理部 • 高级架构师
– InfoQ
• 敏捷社区 特约编辑• 《持续集成》专栏作者
– 曾就职于 ThoughtWorks 多年• 资深咨询师• 产品 Go 的交付经理
– 《 Continuous Delivery 》的译者
乔梁
3什么是持续集成
4持续集成是
• 一项软件开发实践• 团队的成员频繁集成他们的工作• 通常每人每天至少集成一次• 每次集成都通过自动化构建验证
5Outline
- 持续集成,从哪里开始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六步提交法
二级构建阶段
提交构建
第二次本地验证第一次本地验证
12 3
4
4’
5
6
其他人员的提交
图片来自 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
Analysis + Design
Development
Test + Demo
0 1 N N+1迭代
Agile Team
Hardening
Centralized QA
Release and Operations
IT Operator
图片由 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
由 Jez Humble 提供
持续交付,追求卓越
持续且有节奏地向生产环境部署
DevelopmentTesting
Deployment
27小结
• 主干开发• 代码同源• 分级测试• 所有内容版本控制• 功能开关• 一键式部署
28让持续交付成为现实
• 持续集成和版本控制• 全流程自动化• 环境标准化• 通过版本控制一键式发布 更多实践与方法,请参见
《持续交付 :Continuous Delivery 》。
29Q&A
微博 : http://weibo.com/2036045341
博客 : http://blog.csdn.net/tony1130
邮件 : [email protected]
MSN: [email protected]
中文站: www.continuousdelivery.info
乔梁