Skip to content

部署与发布

部署是把制品安装到环境,发布是让用户开始使用新版本。二者分离后,可以先完成技术部署,再通过流量或功能开关逐步发布。

最小生产流程

  1. 选择已验证的不可变制品和配置版本。
  2. 执行部署,等待启动和就绪检查通过。
  3. 执行烟雾测试并观察核心 SLI。
  4. 逐步扩大流量或开启功能。
  5. 达到失败阈值时停止推广并回滚。

发布策略

策略特点适用场景
Recreate停旧启新,有中断可停机的简单系统
Rolling分批替换实例常规无状态服务
Blue/Green两套完整环境切换需要快速整体回退
Canary新版本逐步接收流量能按指标自动判断风险

前端静态资源应使用带内容哈希的文件名,先上传新资源再切换 HTML,旧资源保留至少一个回滚周期。不要用 CDN 全量清缓存代替版本化。

发布验证

  • 健康检查:进程是否存活、是否可以接收流量。
  • 烟雾测试:登录、查询、下单等关键路径是否可用。
  • 技术指标:错误率、延迟、饱和度和依赖健康度。
  • 用户指标:页面加载、关键交互和业务成功率。

回滚条件

发布前定义错误率、延迟、业务指标和观察窗口。超过阈值时自动暂停流量扩大;确认是版本问题后重新部署上一已验证制品。数据库迁移必须兼容新旧版本,避免应用回滚后无法读取数据。

功能开关

功能开关适合将代码部署和业务发布分离,但需要所有者、过期时间、审计和清理机制。它不能替代权限控制。

Powered by VitePress