部署
发布检查清单
在引入真实流量前验证环境、迁移、认证、计费和存储。
通用门禁
pnpm type-check
pnpm check:error
pnpm lint:ws
pnpm test:unit
pnpm apps:parity
pnpm build:cf这些命令不证明真实外部服务可用。确认 .source/ 由 install/dev/build 生成,未手改;记录 SCENARIOS.md 是否更新或已有覆盖,并报告未运行的检查。
生产准备
- 备份远端 D1,执行
pnpm db:migrate:d1:remote,再运行pnpm db:migrate:d1:status --strict。 - 验证
DB与R2_BUCKET,运行pnpm cf:typegen。 - 配置 Cloudflare Email Sending 凭据与发件域名。
- 公开变量在构建时配置,服务端密钥在 Worker 注入。
手动与自动验收
- 两语言首页/docs/blog/legal、导航和 sitemap/robots;不存在被移除页面的悬空链接。
- 实际生产 origin、OAuth callback 与可信 origin;登录、OTP、退出、过期、onboarding、2FA。
- 未登录拒绝、普通用户不能进 admin、会话服务错误不是错误登录跳转;模拟登录有提示且可退出。
- 沙盒结账、签名 Webhook、续费/取消/退款、权益与客户门户;错误网关/产品不会显示成功。
- 本人头像与资产上传/下载/删除、跨用户 key 拒绝、存储未配置和空列表。
- 联系表单、newsletter 与签名退订;凭据/个人数据不出现在客户端或日志。
使用 pnpm cf:preview 验证真实 Worker 绑定。当前 pnpm test:e2e:cf 服务不能证明原生 D1/R2 行为,见 测试。
生产不要 seed 开发账号,不启用 Better Auth testUtils,不设置跳过环境校验掩盖缺失;旧库升级先在克隆演练增量迁移。保留回滚构建与数据库恢复方案。