AICon全球人工智能与机器学习技术大会8折特惠,购票立减¥960! 了解详情
写点什么

实践中的持续部署

2010 年 2 月 07 日

持续部署,Ash Maurya 称之为:“在一天内多次完成发布同一款软件的过程,相比以前几天、几周乃至几个月的时间,现在可能几分钟就完成一次部署。”最近, 在以精益为主的“消除在制品”活动中,持续部署成为热门话题。然而,虽然很多人可能会发现这是个吸引人的目标,而且从道理上讲也很值得去做,但能想明白该怎么做的人却没有多少。 Ash Maurya 用自己公司的实施经验帮助填补了这个空白。

以前,发布过程至少要用半天,甚至有时候是一整天。如果一周要用 20% 的时间来发布软件,对于小团队实在是太浪费时间了。发现重要的新问题时,还要不断改变发布特性的优先级,为此所做的协调占用的时间还没有计算在内。

他开始转而采取 Eric Reis 的

5 步持续部署入门建议 ,这帮助他理顺了自己的工具。从那时起,他开始挑战最有难度的事情——“学着适应随时可以发布软件”,这也成了他接下来讲述的焦点。

先做简单的事情 - 进行小的变更,然后疯狂审核发布流程。我开始严重依赖功能测试,而且超过了对单元测试的依赖,这让我能像用户那样测试应用中的变化。我还发现了一组事件,它们的出现表示可能发生了特别不对劲的问题(比如,系统中没有用户),并且依此(使用 nagios/ganglia)建立了一个实时报警系统。 我们慢慢建立了自信,并逐渐提交范围更大的多部分变更,每次提交也让我们的测试套件和监控脚本变得更为完善。经过一系列的迭代,相比过去的阶段性发布,我们的恐惧感实际上也降低了很多。因为每次发布提交的代码量变少了,我们就能够放心地把互相关联的问题解决方案放在一起进行发布。

Maurya 使用下面的原则和实践来描述他的持续部署过程:

  • 别去推功能” 这是基本的精益箴言。 让客户向你的 MVP 提供反馈,以此来“拉动” 新的功能。
  • 少量编码”对于 Maurya 而言,两个小时的编码结束后,就要签入代码了,并由此导致自动构建 。
  • 尽量采用功能测试而不是单元测试”Muarya 使用了 Selenium(基于 web 的自动功能测试工具,由 ThoughtWorks 开发) 。
  • ****“必须测试用户激活流程”**** 绝对要保证让用户“初步满足的关键路径”是起作用的。
  • 使用自动软件更新”应该尽可能保证用户在不受影响的情况下收到更新。Maurya 详细描述了他是如何为基于 OSGI 的应用做到这一点的。
  • 集成警告和监控”使用 nagios 和 ganglia, Maurya 可以获得任何系统使用异常的缺陷通知。
  • 集成应用程序级别的诊断”一个应用程序能够通过自检来发现问题,而且这些问题是用户和测试可能无法发现的。
  • 未预期的错误只能允许发生一次”花点时间来理解真正的原因并彻底根除它。
2010 年 2 月 07 日 03:331217
用户头像

发布了 42 篇内容, 共 14.7 次阅读, 收获喜欢 1 次。

关注

评论

发布
暂无评论
发现更多内容

架构师训练营第一期 - 第十三周学习总结

卖猪肉的大叔

极客大学架构师训练营

盘点2020 | 愿美好如期而至

小天同学

总结 日常思考 盘点2020

架构师第十三周总结

Geek_Gu

极客大学架构师训练营

架构师训练营第十三周作业

Shunyi

极客大学架构师训练营

「架构师训练营第 1 期」第十三周作业

张国荣

架构师训练营第 1 期 -- 第十三周学习总结

发酵的死神

极客大学架构师训练营

九、性能三

Geek_28b526

架构师训练营第十三周命题作业

一马行千里

极客大学架构师训练营 命题作业

week9-作业二: 根据当周学习情况,完成一篇学习总结

未来已来

Week_13 作业

golangboy

极客大学架构师训练营

第 9 周作业

Steven

极客大学架构师训练营

week9-作业一

未来已来

架构2期-第九周作业(1)

浮生一梦

极客大学架构师训练营 2组 第九周作业

Week_13 总结

golangboy

极客大学架构师训练营

【架构师训练营 1 期】第十三周学习总结

诺乐

架构师训练营 - week13 - 作业

lucian

极客大学架构师训练营

Architecture Phase1 Week13:Summarize

phylony-lu

极客大学架构师训练营

架构第十三周作业

Geek_Gu

极客大学架构师训练营

第九周作业总结

hunk

极客大学架构师训练营

架构师训练营第九周作业

xiaomao

团队沟通中的教练式对话

Alan

团队管理 个人成长 教练 28天写作

世界之书:《科技想要什么》与”消灭你,与你何干“

lidaobing

科技想要什么 28天写作

第九周作业

hunk

极客大学架构师训练营

第 4 周学习总结

Binary

极客大学架构师训练营

极客大学架构师训练营第四周作业

ihiming

架构师训练营第九周总结

xiaomao

第十三周作业

fmouse

极客大学架构师训练营

第十三周总结

fmouse

极客大学架构师训练营

架构师训练营第 13 周课后练习

叶纪想

极客大学架构师训练营

架构师训练营 作业9

Arthur

极客大学架构师训练营

第 4 周作业提交

Binary

极客大学架构师训练营

实践中的持续部署-InfoQ