橙宝书
运行与发布

完整应用生产发布清单

把代码、配置、数据、安全、观测、灰度和回滚拆成可验证的发布证据。

编辑与核验:橙宝书编辑团队 ·

PRODUCTION中级35 分钟产出:发布证据与双平面回滚方案

deploy 成功只证明平台接受了产物,不证明用户流程、安全规则、数据兼容和回滚都成立。Cloudflare Workers 将 version 与 deployment 分开管理;生产发布应该利用这个边界,把“上传可测试版本”和“让它接收生产流量”作为两个决策。

代码回滚不会回滚数据

Worker version 包含代码、静态资源、bindings 和 compatibility 设置的状态,但 D1、R2、KV 与 Durable Objects 的数据变化不会随版本回退。发布必须同时设计代码平面与数据平面。

发布证据矩阵

平面发布前证据上线信号回滚动作
代码lint、类型、单元、workerd smoke错误率、延迟、版本 ID恢复稳定 Worker version
配置binding、Secret、compatibility 差异binding 缺失、权限错误恢复已知配置与 Secret
数据备份、迁移 dry-run、旧代码兼容查询失败、校验失败、数据异常停写、兼容代码、数据恢复
安全规则表达式、测试路径、误报阈值挑战/阻断与正常用户失败停用最近规则
域名DNS/TLS 只读检查、切换窗口解析、证书、5xx恢复前一记录或路由

发布前

固定输入与构建环境

锁定 Node 和包管理器版本,从干净依赖安装运行内容审计、lint、类型、测试、生产构建和包体预算。保存产物摘要与当前 commit,而不是只保留终端截图。

验证预览版本

在预览 URL 或 workerd 环境跑登录、核心读写、404、无权限、下游失败和静态资源检查。确认响应头、错误体和日志没有 Secret 或堆栈泄漏。

先处理兼容迁移

D1 迁移先在独立预览数据库验证。优先使用 expand/contract:先增加旧代码可忽略的新结构,部署兼容代码,再迁移数据,最后在观察窗口后移除旧结构。

记录回滚触发条件

为错误率、关键路径失败、延迟和业务校验写明确阈值与观察窗口。指定谁能回滚、谁检查数据、谁处理安全规则。

上线过程

小流量应用也先做预览 smoke,再切生产。支持渐进部署时,可以让新旧 version 分担流量并观察版本维度指标;要注意 version skew,同一用户的连续请求或 Worker 间调用可能落到不同版本。Schema 与服务绑定契约必须在灰度窗口内前后兼容。

用户路径

首页、登录、核心创建、读取、下载和退出。

失败路径

无效输入、未认证、无权限、404、下游超时。

资源状态

D1 migration、R2 bucket、Queue consumer 与 Secret 都存在且范围正确。

观测状态

日志能关联 request、version 和稳定错误码,且不收集多余敏感数据。

上线后与回滚

先观察真实用户关键路径,再扩大流量。若代码指标退化,恢复已知稳定 version;若数据已写入新 Schema,先阻止继续写入,再运行预先验证的数据恢复或兼容代码。若只有 WAF/Rate Limit 误报,单独回滚规则,不要同时回滚代码和数据库。

本地项目门禁示例

pnpm content:check
pnpm lint
pnpm types:check
pnpm test
pnpm preview:build
pnpm bundle:check
pnpm smoke
pnpm e2e

这些命令验证当前橙宝书项目,不代表你的应用可以原样复制。你的清单必须加入自己的 migration、核心业务和安全规则测试。

下一步:返回完整应用学习路径

官方来源

这篇内容帮你完成目标了吗?

内测反馈只在当前浏览器生成,不会自动上传。

本页目录