首页/开发/CI/CD 与发布速查/部署与发布的解耦
发布策略60 条

部署与发布的解耦

把「代码进入环境(deploy)」和「用户可见行为变化(release)」拆成两件事:先部署默认关闭的功能,再用开关或流量规则决定何时对谁生效。

CI/CD 与发布速查开发更新于 2026-10-12
部署制品安装到环境、随流水线自动执行
发布对用户生效的时机与范围
解耦手段功能开关、流量权重、用户白名单
收益部署不再承担业务时机的压力,回滚更快

示意

示意
# 部署完成但功能关闭
FEATURE_NEW_CHECKOUT=false ./deploy.sh
# 观察后再放开
FEATURE_NEW_CHECKOUT=true ./deploy.sh --reload-config
解耦后「发布失败」更多是业务开关未达预期,可直接关闭开关恢复,不必回滚制品。

易错点

  • 把开关当长期架构:发布开关不设退役日期,半年后没人敢删也没人敢关
  • 开关组合爆炸:N 个布尔开关有 2^N 种状态,只验证部分组合

数据来源与参考

  • Humble & Farley《Continuous Delivery》第 10 章
  • martinfowler.com《Feature Toggles》
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌