# 07-环境配置 ## 一、依赖清单 | 层 | 依赖 | 版本 | 说明 | |---|---|---|---| | 运行时 | JDK | 17 或 21 | Spring Boot 3 推荐 | | 运行时 | Node.js | ≥ 18 LTS | Vite 5 / React 18 构建运行 | | 运行时 | MySQL Server | 8.x | 业务数据存储 | | 运行时 | Redis | 最新稳定版 | 缓存、会话 | | 运行时 | Nginx | 最新稳定版 | 前端静态托管 + 反向代理 | | 构建 | Maven | 3.9.x | 后端依赖管理与打包 | | 构建 | npm 或 pnpm | npm ≥ 9 / pnpm ≥ 8 | 前端包管理;项目统一二选一 | | 构建 | Flyway | 10.x | 数据库 migration(随 Spring Boot 启动 apply) | | 容器 | Docker | 最新稳定版 | 容器化部署 | | 容器 | Docker Compose | 最新稳定版 | 本地多服务编排 | | CLI 工具 | git | ≥ 2.30 | 版本管理 | | CLI 工具 | mysql-client | 8.x | `scripts/setup-test-db.sh` 需要 | | CLI 工具 | glab 或 gh | 最新稳定版 | 创建 MR / PR | ## 二、端口约定 | 服务 | 端口 | 说明 | |---|---|---| | 后端 HTTP | 8080 | Spring Boot 内嵌 Tomcat | | 后端管理端点 | 8081 | Spring Boot Actuator(如启用,独立端口) | | 前端 dev 服务器 | 5173 | Vite dev server | | MySQL | 3306 | 业务数据库 | | MySQL(测试库) | 3307 | 隔离的测试库;可与主库同实例不同 schema | | Redis | 6379 | 缓存 / 会话 | | Nginx | 80 / 443 | 生产反向代理(80 → 443 强跳) | ## 三、环境变量 运行时凭据(数据库连接、JWT 密钥等)全部放在仓库根的 `.env.local`,不入 git。 字段清单与占位符见该文件,真实值由开发者本地填写。 ## 四、常用命令 | 命令 | 说明 | |---|---| | `cd backend && mvn spring-boot:run` | 本地启动后端(自动 apply Flyway migration) | | `cd frontend && npm run dev` | 本地启动前端 dev server(监听 5173) | | `cd backend && mvn clean package -DskipTests` | 打后端 jar | | `cd frontend && npm run build` | 打前端静态资源到 `dist/` | | `bash scripts/test.sh` | 一键跑全部测试(后端 build/lint/test + 前端 build/lint/test + e2e) | | `bash scripts/setup-test-db.sh` | 重置测试库(DROP + CREATE,不 apply migration;migration 由 Spring Boot 启动时 Flyway 自动 apply) | | `glab mr create` 或 `gh pr create` | 推送当前分支后创建 MR / PR |