目标
任何高风险发布都应在有经过演练的回退路径时才进行。本工作流写出回退代码与结构变更的具体步骤,在预发演练部署与回退,确认旧代码与新结构兼容(向前兼容),并公布触发回退的条件,使运维知道何时以及如何回退。
步骤要点
- 写出回退代码与结构变更的具体步骤。
- 在预发演练部署与回退。
- 确认旧代码与新结构向前兼容。
- 公布触发回退的条件。
migrate status
# rehearse: deploy previous release and confirm health
kubectl rollout undo deploy/app
验证
按顺序执行上述步骤后,逐项确认每个步骤的预期状态均已满足;只有全部预期状态成立,才认为本流程完成。若某一步未达到预期状态,应先按排错提示排查,不要跳过继续,以免掩盖问题。
排错提示
- 未演练的回退在关键时刻会失败。
- 结构变更不向后兼容会阻断回退。
- 缺少触发条件会导致决策迟缓。
适用边界
- 涉及结构变更的发布应演练。
- 需具备带回退能力的部署管线。