Your SlideShare is downloading. ×
持续交付最佳实践——百度技术沙龙201110
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Saving this for later?

Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime - even offline.

Text the download link to your phone

Standard text messaging rates apply

持续交付最佳实践——百度技术沙龙201110

1,631
views

Published on

release cycle is down to 3 weeks @baidu

release cycle is down to 3 weeks @baidu

Published in: Technology, Business

0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
1,631
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
53
Comments
0
Likes
2
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. —— 持续交付的魅力乔梁@百度 . 项目管理部
  • 2. – 百度项目管理部 • 高级架构师– InfoQ • 敏捷社区 特约编辑 • 《持续集成》专栏作者– 《持续交付》的译者 中文站:www.continuousdelivery.info
  • 3. Agenda A real story @ Baidu Devops and Continuous Delivery
  • 4. Context a complex softwareecosystem
  • 5. Context一个复杂的软件生态系统
  • 6. Context 7 Devs + 2 QAs + 0.3 OP c/c++ legacy code (10 years old) 7+ modules few automation tests for a single module deploy to 170+ boxes
  • 7. 6个月前 3个月的大版本发布 Pray 紧急修复较多 紧急需求
  • 8. now  3 周小版本发布  紧急修复很少  没有紧急需求Play
  • 9. Pray Play
  • 10. 6个月前多分支并行
  • 11. 持续集成
  • 12. 主干开发 只在发布时拉分支 release 1.1 release 1.2trunk
  • 13. 6个月前手工测试
  • 14. 内建质量 业务导向的 演示 功能验收测试 易用性测试支 探索性测试 评持开 判发 项 单元测试 非功能验收测试 目过 集成测试 (容量、 的程 系统测试 安全,… …)的 技术导向的
  • 15. 内建质量 业务导向的 自动化 手工 演示 功能验收测试 易用性测试支 探索性测试 评持开 判发 项 单元测试 非功能验收测试 目过 集成测试 (容量、 的程 系统测试 安全,… …)的 自动化 自动/手工 技术导向的
  • 16. 6个月前手工部署
  • 17. 一切皆版本控制 应用配置信息 环境配置信息 数据信息 环境标准化 单一部署脚本
  • 18. 6个月前铁路警察
  • 19.  共同的目标 频繁、高效地沟通 共担一些KPI
  • 20. What we got now
  • 21. Details 模块级 子系统级 系统级 试运行 发布A Commit AcceptanceB Commit Acceptance Interface Interface . . Ping . . Acceptance performance performanceC Commit Acceptance . . function function . .G Commit Acceptance
  • 22. A 每天 每周 三周B 子系统测试 系统测试 试运行 生产环境G 自动 手动
  • 23. 自动化部署流水线部署流水线(deployment pipeline): 是软件系统的构建、部署、测试和审批过程的自动化实现。  可视化  可跟踪  易审计
  • 24. 持续交付 small feature chunks Time1. 每次提交代码的质量都达到生产环境可部署2. 小步增量发布
  • 25. Lesson learned 软件的发布过程必须是可重复、可信赖的 把几乎所有环节都做成自动化 把所有内容都纳入版本控制 让痛苦提前,并不断练习 内建质量 “完成”就意味着“已发布” 所有人对交付负责 持续改进,需要耐心
  • 26. Lesson learned 只构建一次二进制包 在每个环境上都使用相同的方式部署 对部署结果进行冒烟测试 每种部署环境都应该尽可能相似 任何地方出现失败,都要立刻停工
  • 27. devops?
  • 28. Agile Continuous Integration Value Stream
  • 29. devopsAgile Continuous Integration Value Stream
  • 30. devopshttp://en.wikipedia.org/wiki/DevOps
  • 31. devops = culture + tools
  • 32. Culture
  • 33. Tools automation – environment provisioning • (Puppet, Chef, ControlTier, etc) – app deployment & data migration • (Capistrano, DBdeploy, etc) – logging & monitoring • (Splunk, Nagios, Munin, etc)
  • 34. Q&A We are hiring now. Email: pmo@baidu.com@乔梁QLhttp://blog.csdn.net/tony1130qiaoliang.email@gmail.com http://www.continuousdelivery.info