用途:为游戏项目搭建持续集成与持续部署流程,涵盖 GitHub Actions 工作流、测试策略、数据库迁移安全与预发布环境。触发词包括 CI/CD、GitHub Actions、deployment、pipeline、testing、staging、migration、release 等。
主要能力与原则:部署前必须有自动化测试门禁;迁移视为单向操作,生产环境执行破坏性迁移前须备份;预发布环境镜像生产,使用真实数据形态、真实 Redis 与 PostgreSQL;用功能开关替代分支,先暗部署再通过配置启用;每次部署都准备回滚方案;部署后结合监控告警发现线上问题。
流水线阶段:Push → Lint → Type Check → Unit Tests → Build → Integration Tests → Deploy Staging → Smoke Tests → Deploy Production。
使用方式:CI 使用 Bun 与 GitHub Actions,采用 oven-sh/setup-bun@v2 而非 actions/setup-node,并缓存 bun install;依次执行 bun install --frozen-lockfile、bunx biome check .、bun run typecheck、bun test,测试环境变量包括 DATABASE_URL 与 REDIS_URL。部署流水线中,Drizzle 迁移作为独立 job 先运行 bunx drizzle-kit migrate,部署 job 通过 needs: migrate 依赖其成功;使用 superfly/flyctl-actions/setup-flyctl@master 安装 flyctl,执行 flyctl deploy --remote-only,通过 FLY_API_TOKEN 认证;部署后做健康检查,回滚可用 flyctl releases rollback。预览环境可用 Neon 数据库分支,配合 neondatabase/create-branch-action@v5 与 delete-branch-action@v3,每个 PR 获得隔离数据库。
适用场景:游戏后端与服务的自动化构建、测试、部署、迁移与预发布验证。
限制与前置:需先具备 postgres-game-schema(迁移安全)与 game-backend-architecture(部署目标)相关知识;具体价格、平台支持范围等资料暂未提供。