跳到主要内容
版本:Current

生产部署

构建

cd backend && npm ci && npm run build
cd ../frontend && npm ci && npm run build

环境变量(生产)

Backend

PORT=4000
FRONTEND_URL=https://your-frontend.com
REDIS_URL=rediss://...
JWT_SECRET=...
DATABASE_URL=postgresql://...

Frontend

NEXT_PUBLIC_API_BASE=https://your-api.com
NEXTAUTH_URL=https://your-frontend.com
NEXTAUTH_SECRET=...
JWT_SECRET=<same>
STAFF_ADMIN_PASSWORD=...
STAFF_DISPLAY_PASSWORD=...
NEXT_PUBLIC_THEME=spring

启动

cd backend && npm start
cd frontend && npm start

部署后验证

  • /health OK
  • Staff 可登录 admin / show
  • 发布登录码 → Show 同步
  • 玩家 login → play → 发题 → 答题
  • winner 显示 玩家 #NNN
  • reset 后登录码清除

平台参考

  • Frontend: Vercel / Railway
  • Backend + Redis + PG: Railway
  • 确保 Server-side fetch(verify-code)可从 Frontend 主机访问 Backend

活动日运维

  1. 活动前:Staff 登录测试 + 登录码 E2E
  2. 活动中:监控 /health、Redis 内存
  3. 活动后:查 GameResult 表归档

回滚

Frontend Vercel 一键回滚;Backend 保留上一镜像。Redis 中进行中状态回滚不自动清理,慎用。