Next.js 16 · Release control / Chapter 14
发布门禁与回滚控制台
一条发布线只有在“制品可追溯、检查可复现、Pod 可接流量、指标可比较、回滚可执行”同时成立时才应继续。控制台不会把一次绿色构建误当成生产安全。
01 / Artifact identity
先锁定正在发布的那一个制品
commit、lockfile、Node 版本、镜像 digest 与 RELEASE_ID 必须形成同一条证据链;镜像标签只能帮助人阅读,digest 才是不可变定位。
02 / Preflight gates
构建绿灯之外,还要证明可部署
这些检查针对同一 commit 与同一 lockfile 执行;跳过检查与检查失败在门禁里都应视为未通过。
03 / Traffic admission
探针决定能否接流量,观察窗决定能否扩量
startup 只回答“进程是否完成启动”;readiness 会在整个生命周期持续回答“此刻是否应该进入 Service 端点”。
Kubernetes 探针
不要让 liveness 代替 readiness,也不要用重启掩盖依赖故障。
Readiness probe
/health/ready官方语义:startup 成功前,liveness/readiness 不运行;readiness 失败会让 Pod 退出 Service 端点,但不会自动等价为发布回滚。
渐进发布控制器
点击当前流量阶段,设置每一段最短观察分钟数;扩量必须逐级完成。
Kubernetes Deployment 原生提供滚动更新、pause/resume、rollout status 与 undo;这里的按指标自动扩量/回退代表部署平台或自建控制器的策略层。
04 / Deployment telemetry
只比较同一窗口、同一业务切片的两个 deployment ID
候选版本与上一稳定版本并排观察;阈值是允许的“不利变化”,不是漂亮但没有基线的绝对数字。
05 / Rollback contract
回滚不是重新构建旧代码,而是重新指向已验证旧 digest
应用回退只改变工作负载版本;数据库、CMS、队列、旧静态资源和 Server Action 密钥若不兼容,单纯 undo 也无法恢复业务。
旧制品复用
不可逆变化审计
证据与版本偏差
06 / Human override & evidence
人工可以覆盖自动建议,但不能覆盖证据
人工 override 必须留下操作人、明确动作与足够理由。任何配置变化都会撤销当前覆盖,但审计记录保留。
覆盖动作只影响显示的最终决策;自动建议与越界证据仍会写入记录。
不可静默的审计轨迹
本页仅保存在当前浏览器内存中;导出 Runbook 后再交给真实发布系统归档。
预览本地 Runbook 文本
依据:Next.js 16 Production checklist、Self-hosting、deploymentId、instrumentation;Kubernetes Probes、Deployment rolling update / pause / resume / undo。页面仅用这些官方语义建立教学模型,不会连接集群或发起网络请求。nextjs.org/docs/pages/guides/production-checklist · nextjs.org/docs/app/guides/self-hosting · nextjs.org/docs/app/api-reference/config/next-config-js/deploymentId · nextjs.org/docs/pages/api-reference/file-conventions/instrumentation · kubernetes.io/docs/concepts/workloads/pods/probes · kubernetes.io/docs/tasks/run-application/update-deployment-rolling