在开始之前
首先设置操作边界。
- 一个具有可重复本地测试和锁定包管理器的工作应用程序。
- 一个Cloudflare账户、Wrangler认证和一个命名的生产负责人。
- 一个包含必需绑定、密钥、数据区域和预期请求路径的列表。
- 一个低风险的烟雾测试路径和一个回滚决策规则。
逐步
从范围转移到一个已检查的成果。
有意识地选择部署路径
对于新的Next.js应用程序,首先检查vinext兼容性,因为Cloudflare将其推荐为路径。对于现有的OpenNext部署,在迁移存在未解决的兼容性差距时,保留适配器。仅在真正静态导出时使用Pages。
- 检查点
- 该存储库记录了为什么vinext、OpenNext或静态页面适合当前的应用。
- 工件
- 部署路径决策记录
定义运行时和数据边界
列出哪些路由需要服务器渲染或API,哪些可以保持静态。仅在验证功能需要时添加D1、R2、KV、Workers AI、队列或其他绑定。记录每个边界跨越的数据以及哪个系统负责删除和恢复。
- 检查点
- 每个绑定都有一个命名的功能、数据所有者和失败行为。
- 工件
- 运行时和绑定映射
使构建过程可重复。
固定适配器和部署工具,生成绑定类型,并运行类型检查、测试、内容验证和精确的生产构建命令。将秘密排除在源代码控制之外,并区分预览配置和生产配置。
- 检查点
- 一个干净的检出可以产生相同的部署工件,而无需未记录的本地状态。
- 工件
- 已验证的构建和配置库存
预览生产工件
在本地或预览环境中运行已构建的Worker,然后检查状态码、重定向、元数据、静态资源、认证边界和任何数据库迁移。即使在本地开发期间,也应将远程AI绑定视为可能产生费用。
- 检查点
- 确切的生产工件通过了书面路线和绑定矩阵。
- 工件
- 预览烟雾测试记录
发布可追溯版本
从提交生成公共版本标记,运行部署预演,并部署不可变构建。记录提交、Worker版本、部署时间和操作员。避免在未经审查的步骤中更改数据模式和应用程序行为。
- 检查点
- 公共版本标记解析为预期的提交,并且部署提供者报告版本成功。
- 工件
- 生产发布记录
验证并保持回滚可用
将路由矩阵重复应用于公共领域,包括关键的200、重定向、404、元数据和API检查。注意错误和用户可见的回归。当发布破坏关键路径或违反预写接受边界时回滚。
- 检查点
- 生产环境与发布记录匹配,或者恢复上一个已知良好的版本。
- 工件
- 公开的验证和回滚决策
交付成果
保持工作可重复使用和可检查。
- 部署路径决策记录
- 运行时、数据和绑定映射
- 可重复的生产构建命令
- 预览路线和绑定矩阵
- 提交到Worker发布记录
- 公开的烟雾测试和回滚记录
决策边界
本教程不证明的内容。
- Cloudflare标记vinext测试版;在迁移现有生产应用前验证其兼容性报告。
- OpenNext仍然是一个记录的维护路径,但不应被宣传为Cloudflare新应用的默认选择。
- D1、R2、Workers AI和其他服务有单独的限制、定价和数据行为,必须检查所选计划的详细信息。
- 成功的部署并不能证明应用的正确性、安全性、数据恢复或模型输出质量。
来源台账
检查当前的主要指导。
- Cloudflare Workers: Next.js指南
当前推荐的vinext路径、兼容性检查和Workers绑定的主要来源。
- Cloudflare Workers: OpenNext适配器
维护现有OpenNext应用程序及其支持的Next.js功能的主要来源。
- Cloudflare D1文档
D1绑定、数据和操作细节的主要来源。
- Cloudflare R2文档
对象存储行为、限制和定价链接的主要来源。