More Related Content
Similar to 百度实施持续集成之 “工具战争”-Qcon2011
Similar to 百度实施持续集成之 “工具战争”-Qcon2011 (20)
百度实施持续集成之 “工具战争”-Qcon2011
- 1. 百度实施持续集成之
“工具战争” 路宁
www.luning.name
luning.tw@gmail.com
11年4月6日星期三
- 2. 关于我
• 百度项目管理部工程师
• 曾任ThoughtWorks咨询师
• 热衷于敏捷和精益
11年4月6日星期三
- 4. • C++的产品线,共100+人
• 项目小,且多
• 每个项目为涉及的模块分别拉分支
• 选择模块试点CI, 涉及多个项目,20+人
11年4月6日星期三
- 5. P1
R1
P2
R2
P3
R3
11年4月6日星期三
- 6. P1 P3
P2 P4
R1 R2
11年4月6日星期三
- 10. 上线部署平台
测试平台
项目管理平台
编译平台
持续集成平台
11年4月6日星期三
- 16. M1 M2 M3
M1
M2
DB
M3
11年4月6日星期三
- 21. 编译平台的特点
• 编译平台集中管理包编译依赖配置
• 包编译依赖基于项目(而非软件模块)配置
11年4月6日星期三
- 22. 问题
• 对包编译依赖配置缺乏有效的版本管理
• 做本地做编译有重重约束
• 针对“项目”设置依赖配置让问题变复杂
11年4月6日星期三
- 29. 问题
• 要通过平台操作,还不能实现无需人工干预的自
动化
• 测试Case及数据通过基于Web的平台集中管理和
存储,与生产代码脱节
11年4月6日星期三
- 30. 方案
• 开发和使用新测试平台,通过python脚本写测
试,能完全自动运行
• 测试平台源码、测试代码及数据与生产代码做
同源版本管理
• 测试环境标准化,每个人都可方便地在本地运
行所以测试
11年4月6日星期三
- 34. 问题
• 线上配置及数据重复存放,且缺乏版本管理
• Dev的准备工作和OP的人工动作较多
11年4月6日星期三
- 35. 方案
• 配置,数据及部署脚本与源码做同
源版本管理
• 上线步骤全部脚本化,通过一条命
令运行
• 线上配置的修改与代码一样,需要
自动化测试保证质量
• 与Hudson集成,实现一键上线
11年4月6日星期三
- 40. 行业现状
办公自动化 DevOps
• 打破部门局限,各角色密切
• 用统一平台管理流程和数据
合作下的创新方案
• 通过界面进行可视化操作
• 用靠谱的工具
• 局部操作的自动化
• 对一切做配置管理和自动化
11年4月6日星期三
- 41. 行业现状
办公自动化 DevOps
• 打破部门局限,各角色密切
• 用统一平台管理流程和数据
合作下的创新方案
• 通过界面进行可视化操作
• 用靠谱的工具
• 局部操作的自动化
• 对一切做配置管理和自动化
11年4月6日星期三
- 48. 大而全的平台
可视化编辑
支持拖拽
自主研发,方便以后定制
包装一下,再起个响亮的名字
11年4月6日星期三
- 49. 文本和命令行 优于 二进制和GUI
只做好一件事的开放工具 优于 大而全的集中平台
融入社区, 善用开源 优于 二次包装和自主开发
整体思考解决问题 优于 依赖工具解决问题
11年4月6日星期三
- 51. 路宁
luning.tw@gmail.com
www.luning.com
Q&A
11年4月6日星期三