MuseMVP 文档
部署

发布检查清单

在引入真实流量前验证环境、迁移、认证、计费和存储。

通用门禁

pnpm type-check
pnpm check:error
pnpm lint:ws
pnpm test:unit
pnpm apps:parity
pnpm build

这些命令不证明真实外部服务可用。确认 .source/ 由 install/dev/build 生成,未手改;记录 SCENARIOS.md 是否更新或已有覆盖,并报告未运行的检查。

部署差异

Node:Vercel/DockerWorkers
apps/web,Node 22.x;Vercel Root Directory = apps/webapps/web-cloudflare,OpenNext + Wrangler
生产 Postgres 备份、pnpm db:status / pnpm db:migratepnpm db:migrate:d1:remote / pnpm db:migrate:d1:status --strict
S3 凭据、bucket CORS、公开读前缀DB / R2_BUCKET 绑定、pnpm cf:typegen
真实 Resend 或 Cloudflare 邮件,禁用 consoleCloudflare Email Sending,真实凭据与发送域名
Docker 从仓库根构建,公开变量用 build args公开变量在 Worker 构建环境设置,服务端密钥在 Worker 注入

手动与自动验收

  1. 两语言首页/docs/blog/legal、导航和 sitemap/robots;不存在被移除页面的悬空链接。
  2. 实际生产 origin、OAuth callback 与可信 origin;登录、OTP、退出、过期、onboarding、2FA。
  3. 未登录拒绝、普通用户不能进 admin、会话服务错误不是错误登录跳转;模拟登录有提示且可退出。
  4. 沙盒结账、签名 Webhook、续费/取消/退款、权益与客户门户;错误网关/产品不会显示成功。
  5. 本人头像与资产上传/下载/删除、跨用户 key 拒绝、存储未配置和空列表。
  6. 联系表单、newsletter 与签名退订;凭据/个人数据不出现在客户端或日志。

Node 运行 pnpm test:api 和相关 pnpm test:e2e;Workers 运行 pnpm cf:preview 检查真实绑定路径。当前 test:e2e:cf 不替代 Wrangler 验证,见 测试。

生产不要 seed 开发账号,不启用 Better Auth testUtils,不设置跳过环境校验掩盖缺失;旧库升级先在克隆演练增量迁移。保留回滚构建与数据库恢复方案。

本页目录