ci: 补 CI + docker-compose + 前后端 Dockerfile
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
parent
0d615be363
commit
380195fffc
48
.github/workflows/ci.yml
vendored
Normal file
48
.github/workflows/ci.yml
vendored
Normal file
@ -0,0 +1,48 @@
|
|||||||
|
name: CI
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
pull_request:
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
backend:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
defaults:
|
||||||
|
run:
|
||||||
|
working-directory: sources/sysmgr-nest
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v4
|
||||||
|
with:
|
||||||
|
submodules: recursive
|
||||||
|
- uses: pnpm/action-setup@v4
|
||||||
|
with:
|
||||||
|
version: 12
|
||||||
|
- uses: actions/setup-node@v4
|
||||||
|
with:
|
||||||
|
node-version: 22
|
||||||
|
cache: pnpm
|
||||||
|
cache-dependency-path: sources/sysmgr-nest/pnpm-lock.yaml
|
||||||
|
- run: pnpm install --frozen-lockfile
|
||||||
|
- run: pnpm build
|
||||||
|
- run: pnpm test
|
||||||
|
|
||||||
|
frontend:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
defaults:
|
||||||
|
run:
|
||||||
|
working-directory: sources/sysmgr-admin
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v4
|
||||||
|
with:
|
||||||
|
submodules: recursive
|
||||||
|
- uses: pnpm/action-setup@v4
|
||||||
|
with:
|
||||||
|
version: 12
|
||||||
|
- uses: actions/setup-node@v4
|
||||||
|
with:
|
||||||
|
node-version: 22
|
||||||
|
cache: pnpm
|
||||||
|
cache-dependency-path: sources/sysmgr-admin/pnpm-lock.yaml
|
||||||
|
- run: pnpm install --frozen-lockfile
|
||||||
|
- run: pnpm type-check
|
||||||
|
- run: pnpm build-only
|
||||||
19
docker-compose.yml
Normal file
19
docker-compose.yml
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
services:
|
||||||
|
mysql:
|
||||||
|
image: mysql:8.0
|
||||||
|
environment:
|
||||||
|
MYSQL_ROOT_PASSWORD: Mysql@123
|
||||||
|
MYSQL_DATABASE: sysmgr
|
||||||
|
ports:
|
||||||
|
- "3306:3306"
|
||||||
|
volumes:
|
||||||
|
- mysql-data:/var/lib/mysql
|
||||||
|
command: --default-authentication-plugin=mysql_native_password
|
||||||
|
|
||||||
|
redis:
|
||||||
|
image: redis:7
|
||||||
|
ports:
|
||||||
|
- "6379:6379"
|
||||||
|
|
||||||
|
volumes:
|
||||||
|
mysql-data:
|
||||||
@ -49,7 +49,7 @@
|
|||||||
|
|
||||||
## P3 工程化契约
|
## P3 工程化契约
|
||||||
|
|
||||||
- [ ] **H12** e2e 必然失败 + 无业务测试 —— 方案:修 e2e + 补核心链路用例
|
- [x] **H12** e2e 必然失败 + 无业务测试 —— ✔ 已完成:e2e 改为登录链路(成功/失败),补 mask/data-scope 单测
|
||||||
- [x] **M2** 时间字段 ISO vs Unix 毫秒 —— ✔ 已完成:API 层统一 Unix 毫秒(TransformInterceptor 递归转换 + 前端类型 number)
|
- [x] **M2** 时间字段 ISO vs Unix 毫秒 —— ✔ 已完成:API 层统一 Unix 毫秒(TransformInterceptor 递归转换 + 前端类型 number)
|
||||||
- [x] **M16** vite `olldownOptions` 拼写错误 —— ✔ 已完成:改 `rolldownOptions`
|
- [x] **M16** vite `olldownOptions` 拼写错误 —— ✔ 已完成:改 `rolldownOptions`
|
||||||
- [x] **M19** 前端 .env/.env.dev 入库 + .env.example 带像真密码 —— ✔ 已完成:gitignore .env + .env.example 模板 + untrack
|
- [x] **M19** 前端 .env/.env.dev 入库 + .env.example 带像真密码 —— ✔ 已完成:gitignore .env + .env.example 模板 + untrack
|
||||||
@ -59,5 +59,5 @@
|
|||||||
- [x] **L4** README 克隆命令与子模块风格不一致 —— ✔ 已完成:统一 ssh:// 端口
|
- [x] **L4** README 克隆命令与子模块风格不一致 —— ✔ 已完成:统一 ssh:// 端口
|
||||||
- [x] **L6** ty-crud 取消确认 rejection 未捕获 —— ✔ 已完成:catch 取消
|
- [x] **L6** ty-crud 取消确认 rejection 未捕获 —— ✔ 已完成:catch 取消
|
||||||
- [x] **L9** @nestjs/mau 非常规依赖 —— ✔ 已完成:核实为 NestJS Mau 部署 CLI,已移除 + 删 deploy 脚本
|
- [x] **L9** @nestjs/mau 非常规依赖 —— ✔ 已完成:核实为 NestJS Mau 部署 CLI,已移除 + 删 deploy 脚本
|
||||||
- [ ] **L10** 无 CI/Dockerfile/compose 部署编排 —— 方案:补 CI + 部署物料
|
- [x] **L10** 无 CI/Dockerfile/compose 部署编排 —— ✔ 已完成:docker-compose(MySQL/Redis)+ CI(前后端 build/test)+ 前后端 Dockerfile
|
||||||
- [ ] **新增** spec 覆盖补全 —— users/roles/orgs/tenants/configs 与前端多页无 spec 锚点。方案:补主 spec
|
- [ ] **新增** spec 覆盖补全 —— users/roles/orgs/tenants/configs 与前端多页无 spec 锚点。方案:补主 spec
|
||||||
|
|||||||
@ -1 +1 @@
|
|||||||
Subproject commit ebc07974248f3279f32c79cd3e1c95b1121f197a
|
Subproject commit 6937f9ece03ece26a0ba36e684dbe45ac9f098c1
|
||||||
Loading…
x
Reference in New Issue
Block a user