上线指南 (Launch Guide)

本节汇总 GovernTrail 从本地开发、预发到生产上线的关键步骤。更多细节请参考仓库中的release playbook

快速开始 (Quick Start)

  1. 克隆仓库,执行 npm install(web)与 npm install(worker)。
  2. 填充 web/.env.local(默认/staging)或 web/.env.production.local(需要时),并运行 pwsh scripts/e2e-local.ps1 -AutoStartWeb,确保 E2E 通过。
  3. 在 Supabase 执行最新迁移,确认数据库模型与 RLS 正确启用。
  4. Vercel 部署 Web,Railway 部署 Worker + Cron Runner(使用 scripts/cron-ping.mjs)。
  5. 完成生产 Smoke(/api/health, /api/kpi)及 Watchdog 验证。

上线演练 (Production Dry-run)

  1. 创建测试资产 CSV(包含 2 个 SSL、1 个域名),在预发环境导入并验证 KPI 指标。
  2. 将 Cron Secret 配置到 Railway 与 Vercel,触发一次 digest dry-run,观察日志返回 ok=true
  3. outbox flush 切换为 dryRun=false,limit=1,确认邮件送达 Slack 通知。
  4. 在 `/pricing` 选择套餐并记录 SLA 联系方式。
  5. 回滚演练:在 Supabase 回滚上一版本迁移,恢复到备份状态。

FAQ 常见问题 (FAQ)

Q: Cron Runner 失败会如何告警?
通过 Slack 通知渠道发送 `[alerts] cron-runner failed`,同时 Watchdog 会在 6 小时未执行时创建 GitHub Issue。
Q: 是否支持 BYO SMTP?
目前主推 Resend,企业套餐可在私有化部署中替换为 SES、SendGrid 或自建 SMTP。
Q: 如何扩展新的资产类型?
通过 Supabase 新增视图与触发器,并在 web/app/assets 下添加列映射;企业套餐含官方支持。
Q: 能否部署在欧盟区域?
可以。Railway Worker 支持 EU-West 区域,Vercel 建议使用 Frankfurt 节点并开启 EU 数据驻留。

资源链接 (Resources)