# 开发-测试-部署流程 本文档规范项目的工作步骤,确保环境一致、交付可追溯。 ## 1. 开发环境 - 克隆仓库后执行 `npm install`,或使用容器方式 `docker compose -f docker-compose.dev.yml up --build`。 - 复制 `.env.example` 为 `.env`,并结合 `config-bianliang.env` 设置可迁移化变量。 - 启动开发服务:`npm run dev`(本地 Node)或 `docker compose -f docker-compose.dev.yml up`。 - 建议安装 ESLint、Prisma 等编辑器插件获取即时提示。 ## 2. 提交前检查 - 运行 `npm run check`,串联 `next lint` 与 `prisma validate`。 - 如需修改数据库结构,执行 `prisma migrate dev` 并评审迁移文件。 - 更新 `change.md` 记录本次修改的时间与要点。 ## 3. 持续集成 - 推送到 `main` 或提交 PR 时,GitHub Actions(`.github/workflows/check.yml`)会自动运行 `npm run check`。 - 若 CI 失败,请在本地修复后重新推送。 ## 4. 测试与验收 - 开发者需在本地或测试环境验证核心流程:素材上传、权限管理、钉钉登录、排行榜等。 - 若接口或配置有变更,请同步更新相关文档或提供测试方法。 ## 5. 生产部署 1. 准备 `.env` 与 `config-bianliang.env`,确认敏感信息来源安全。 2. 运行: ```bash docker compose build docker compose up -d ``` 3. 通过 `docker compose ps` 与 `/api/health` 检查容器状态。 4. 需要远程部署时,可使用 `scripts/deploy/` 下的脚本。 ## 6. 发布后监控 - 关注日志、数据库负载与对象存储使用情况。 - 如出现异常,可回滚至上一镜像:`docker compose down && docker compose up -d `。 - 在 `docs/reports/` 中记录问题与处理过程。 ## 7. 常见问题 - **构建缓慢**:检查镜像缓存或执行 `scripts/deploy/setup-docker-mirror.ps1` 配置加速源。 - **Prisma 校验失败**:确认 `schema.prisma` 与迁移文件一致。 - **Lint 报错**:根据 ESLint 规则调整代码,必要时评审后更新配置。 --- 如流程更新,请同步修改本文,并在 `docs/README.md` 中追加入口。