[5] 持续交付(Continuous Delivery):把发布做成可回滚的流水线¶
- 资料类型:工程交付方法论(书)
- 原始来源:https://martinfowler.com/books/continuousDelivery.html
- 对应章节:第 7 章(工程化)、第 17 章(部署与运维)
一句话¶
上线不是按一下按钮,而是能重复、能验证、能回滚的一条流水线。
你该从这本书带走什么¶
- 发布要可预测:每次变更都能在相同流程里被验证,避免人肉上线剧本。
- 反馈越早越便宜:把检查往左移(提交前/PR 阶段),减少集成成本。
- 回滚是交付的一部分:没有回滚路径的发布,本质上是在赌。
在本书里怎么用¶
- 把交付物与验收写成可执行门禁(哪怕只是
make ...协议化占位)。 - 把改动很多拆成可审查小步:每一步都有验证命令与失败判定。
- 把上线后再看改成上线前先跑回归:质量/延迟/成本三条线并行看。
常见误用¶
- 只把 CI 当成跑单测的地方,却没有契约/安全/基准等关键门禁。
- 只有发布脚本,没有回滚脚本和回滚后怎么确认已回滚。