船舶越快,风险越来越少。获得优化的推出,为开发人员提供免费功能标志。 建立免费账户



凭借黑色星期五和网络星期一距离大约一个月,贵公司可能已经开始该赛季的年度部署冻结。部署冻结是一种常见的策略,用于在时间窗口期间减轻风险。它通常在假日季节使用,以确保网站和服务有100%的正常运行时间,并有助于防止危重事件发生。虽然有利于冻结的福利,就像所有的代码一样,在这个博客中,我们寻求解决这些缺陷的问题,以及我们称之为“软”部署冻结的内容。 

火车崩溃

部署冻结旨在确保没有新引入的功能导致中断:

所以,也许你在思考:部署冻结期必须是QA工程师最喜欢的时间。正确的?

不必要。正如许多工程师都知道得多, 创建任意代码部署截止日期引入了固有的风险—并且可以将系统冻结升降机和工程师再次启动运输代码后,可能会使系统超级不稳定.

它可能很容易停止部署训练,但是启动它再次创造了自己的挑战。

以下是开发人员在部署冻结后面临的一些挑战和风险:

  • 增加系统脆性:当没有合并而没有合并时,软件变得更加脆弱。一旦冻浸升降机,将所有这些更改合并为大规模部署 会造成重大问题和潜在的碰撞。
  • 延迟产品交付:在冻结截止日期之前未发货的代码将导致功能延迟。
  • 破碎的过程:即使正式调用部署冻结,它也很少在现实中冻结总代码。团队通常需要部署紧急错误修复,最后的第二个功能更改需要提供,关键基础设施维护等
    这些事件跳跃正常部署过程并导致更高水平的摩擦。 
  • 更多虫子:任意截止日期迫使开发人员急于获得生产的功能,这增加了引入错误的可能性。

那么,公司如何在部署冻结期间平衡管理和开发人员的需求? 

一种方法是使用一个 功能旗帜 系统实现一个 柔软的 部署冻结:我喜欢称之为“部署幻灯”。部署后面代码 特色标志 允许工程团队继续检查代码并运送到生产— 同时 —通过将该新代码部署到从整个安装基础分段为关闭的自定义受众来缓解风险。

该过程的工作方式如下: 

  1. 除了部署之外,开发人员将像往常一样船舶代码被门控在针对各个团队的功能标志后面。
  2. 工程团队可以 在生产中测试 在功能标志后面以验证功能。 
  3. 如果出现问题出现问题,团队中的任何人都可以关闭功能标志,以删除介绍它的代码。
  4. 当部署冻结结束时,团队可以从标志中删除测试受众,并将功能滚动到所有。

这种方法有助于避免更改部署过程的痛苦,创建任意截止日期,并冒险系统脆性。工程师不必停止部署到生产,以便冻结持续时间。使用功能标志,客户也不会注意到代码正在持续发货,并且正在建造并在标志后面提交和运输新功能。

“部署幻灯片”确实有一些限制。导致停机时间的功能,例如数据库更改,仍然是偏移限制。无法回滚的功能(例如:将改变客户体验状态的迁移脚本)也仍然无法发货。但总的来说,使用功能标志来管理您的假期冻结— or any code freeze —允许您像往常一样自信地发货,而无需担心解冻中的许多后效果。

在即将到来的假日季节,让您的客户提供无缝体验,而不会暂停您的部署。使用功能标志并使您的开发列车全冬季运行。

优化X.