# 07-环境配置 ## 一、依赖清单 | 层 | 依赖 | 版本 | 说明 | |---|---|---|---| | 运行时 | Java JDK | 17 或 21 | Spring Boot 3.x 运行环境 | | 运行时 | Node.js | 20.x LTS | Vite 5 / React 18 构建运行 | | 运行时 | MySQL | 8.x | 关系型数据库 | | 运行时 | Redis | 最新稳定 | 缓存 / 会话 | | 运行时 | Nginx | 最新稳定 | 反向代理、前端静态托管(生产) | | 构建 | Maven | 3.9.x | 后端依赖管理与构建 | | 构建 | npm(或 pnpm) | 与 Node 配套 | 前端包管理器 | | 构建 | Flyway core + mysql | 10.x | Spring Boot 启动时自动 apply migration | | 构建 | Vite | 最新稳定 | 前端打包 | | 容器 | Docker | 最新稳定 | 镜像构建与本地编排 | | 容器 | docker-compose | 最新稳定 | 本地 mysql / redis 编排 | | CLI 工具 | git | ≥ 2.40 | 版本控制 | | CLI 工具 | mysql client | 8.x | `scripts/setup-test-db.sh` 调用 | | CLI 工具 | curl / jq | 最新稳定 | API 调试、脚本辅助 | ## 二、端口约定 | 服务 | 端口 | 说明 | |---|---|---| | 后端 HTTP | 9090 | 项目锁定(避开常见 8080 冲突) | | 前端 dev server | 5173 | Vite 默认 | | MySQL | 3306 | 主库 | | MySQL(测试) | 3307 | 本地独立测试库(避免与开发库冲突,可选) | | Redis | 6379 | 默认 | | Nginx | 80 / 443 | 生产反代 | ## 三、环境变量 运行时凭据(数据库连接、JWT 密钥、Redis 密码等)全部放在仓库根的 `.env.local`,**不入 git**(由 `.gitignore` 强制忽略)。 字段清单与占位符见 `.env.local`,真实值由开发者本地填写。CC 不读取 `.env.local` 的真实值;任何引用都用 `${VAR_NAME}` 形式。 ## 四、常用命令 | 命令 | 说明 | |---|---| | `cd backend && ./mvnw spring-boot:run` | 启动后端服务(监听 8080) | | `cd frontend && npm run dev` | 启动前端 dev server(监听 5173) | | `cd backend && ./mvnw clean package` | 后端打包(生成 jar) | | `cd frontend && npm run build` | 前端打包(生成 dist/) | | `bash scripts/test.sh` | 跑后端 + 前端全部测试(test-gate 入口) | | `bash scripts/setup-test-db.sh` | DROP+CREATE 测试库(Flyway V1 会在测试启动时 apply) | | `glab mr create` 或 `gh pr create` | 创建 MR / PR(mr-create skill 调用) |