运行与发布
测试、预览环境与渐进发布
用单元测试、workerd 集成测试、独立 bindings 与回滚证据保护 Cloudflare 发布。
编辑与核验:橙宝书编辑团队 ·
OPERATIONS进阶24 分钟最后核验:2026-08-26
三层测试,不互相冒充
| 层 | 运行位置 | 证明什么 |
|---|---|---|
| 纯单元测试 | Node 等测试环境 | 输入验证、路由与纯函数 |
| Workers 集成测试 | workerd / Vitest integration | Runtime API 与 bindings 行为 |
| 预览烟测 | 实际预览 Worker | 构建产物、路由、头与资源连接 |
Cloudflare 当前推荐使用 @cloudflare/vitest-pool-workers / Vitest integration 在 Workers runtime 中跑集成测试。纯 Node 测试很快,但不能证明 Node 不存在的 API 在 Workers 一定可用。
环境隔离
Bindings、vars 和 secrets 不会自动继承。预览 D1、R2、KV 与 Vectorize 应使用独立资源;测试命令不得默认连生产数据。把资源名和迁移版本列入发布清单。
发布顺序
固定候选版本
锁定依赖、compatibility date、迁移与生成类型。CI 从干净安装开始。
跑质量门禁
内容校验、lint、类型、单元/集成测试、生产构建、Wrangler dry-run 包体和 workerd smoke 必须全部通过。
预览真实关键路径
验证允许与拒绝、存在与不存在、空数据与满载边界。保存 Worker 版本和验证时间。
渐进放量与回滚
先小流量观察错误、CPU 与延迟;回滚目标必须是明确已验证的旧版本,数据库变更要有兼容窗口。
迁移不可只回滚代码
如果新代码已写入旧版本不认识的数据,回滚 Worker 可能继续失败。优先采用向后兼容的 expand/migrate/contract 顺序。
官方来源
这篇内容帮你完成目标了吗?
内测反馈只在当前浏览器生成,不会自动上传。