部署流程
- 更新
wrangler.jsonc— Worker 名称、D1/R2/KV/Queue ID、公开vars - 写入 Secrets — 每个敏感变量执行
wrangler secret put - 远程迁移 —
pnpm db:migrate:remote(migrations/有变更时) - 构建并部署 —
pnpm run deploy - 验证 — 见 验证清单
重要
请使用 pnpm run deploy,不要使用 pnpm deploy(pnpm 会将其解析为包管理命令)。
写入 Secret 示例
pnpm wrangler secret put BETTER_AUTH_SECRET
pnpm wrangler secret put GOOGLE_CLIENT_SECRET
pnpm wrangler secret put STRIPE_SECRET_KEY
pnpm wrangler secret put STRIPE_WEBHOOK_SECRET
pnpm wrangler secret put RESEND_API_KEY
pnpm wrangler secret put R2_ACCESS_KEY_ID
pnpm wrangler secret put R2_SECRET_ACCESS_KEY
pnpm wrangler secret list
wrangler.jsonc 公开变量示例
以下可放在 vars(会参与构建或非敏感配置):
{
"vars": {
"VITE_SITE_URL": "https://your-domain.com",
"VITE_GA_MEASUREMENT_ID": "G-XXXXXXXX",
"VITE_POSTHOG_HOST": "https://us.i.posthog.com",
"R2_PUBLIC_URL": "https://oss.your-domain.com",
"EMAIL_FROM": "Your App <no-reply@your-domain.com>"
}
}
部署命令
pnpm run deploy
等价于:
vite build— 构建 SSR 与客户端- 复制 Sentry
instrument.server.mjs wrangler deploy— 发布 Worker
构建时变量
| 变量前缀 | 行为 |
|---|---|
VITE_* | 编译进客户端 bundle |
| 普通 secret | 仅 Worker 运行时可读 |
修改 VITE_* 后必须重新 deploy,不能只更新 secret。
数据库迁移
pnpm db:migrate:remote
建议在每次部署前执行(尤其 migrations/ 有更新时)。
警告
切勿将 .dev.vars、服务账号 JSON、Stripe/Resend 密钥提交 Git。生产使用 Stripe live 密钥。