优化:前端依赖 Docker Volume 持久化缓存 #705

Merged
xiaoxia merged 2 commits from feat/ci-frontend-node-modules-cache into develop 2026-07-22 14:20:45 +08:00

2 Commits

Author SHA1 Message Date
xiaoxia ecbc3b0290 feat(ci): 前端运行脚本挂载 Docker Volume 缓存
CI/CD Pipeline / Check if frontend-only change (pull_request) Successful in 33s
CI/CD Pipeline / Build Staging API Image (pull_request) Has been skipped
CI/CD Pipeline / Validate - Migration (alembic) (pull_request) Successful in 33s
CI/CD Pipeline / Build Staging Web Image (pull_request) Has been skipped
CI/CD Pipeline / Build Staging Worker Image (pull_request) Has been skipped
CI/CD Pipeline / Validate - Type Check (mypy) (pull_request) Successful in 39s
CI/CD Pipeline / PR Build Web Image (pull_request) Successful in 45s
CI/CD Pipeline / Frontend Lint (pull_request) Successful in 53s
Preview Deploy / Deploy Preview Environment (pull_request) Successful in 51s
CI/CD Pipeline / Build Production API Image (pull_request) Has been skipped
CI/CD Pipeline / Build Production Web Image (pull_request) Has been skipped
CI/CD Pipeline / Build Production Worker Image (pull_request) Has been skipped
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (pull_request) Has been skipped
CI/CD Pipeline / Deploy Production (pull_request) Has been skipped
CI/CD Pipeline / Staging E2E Tests (pull_request) Has been skipped
CI/CD Pipeline / Staging API Integration Tests (pull_request) Has been skipped
CI/CD Pipeline / ACR Image Cleanup (pull_request) Has been skipped
CI/CD Pipeline / Production Browser E2E (pull_request) Has been skipped
CI/CD Pipeline / Validate - Code Quality (pull_request) Successful in 2m3s
CI/CD Pipeline / Integration Tests (pull_request) Successful in 1m16s
CI/CD Pipeline / Frontend Unit Tests (pull_request) Has been skipped
CI/CD Pipeline / Unit Tests (pull_request) Successful in 2m34s
CI/CD Pipeline / PR Build API Image (pull_request) Successful in 5m28s
AI Code Review / AI Code Review (pull_request) Successful in 7m13s
CI/CD Pipeline / PR Build Worker Image (pull_request) Successful in 10m11s
PR Automation / Auto Approve on CI Green (pull_request) Successful in 22m32s
PR Automation / Auto Merge on CI Green + Approved (pull_request) Successful in 34m26s
Preview Cleanup / Cleanup Preview Environment (pull_request) Successful in 5s
- 与 step_frontend_install.sh 使用相同 hash 计算逻辑
- 自动挂载对应 volume 到 node_modules
- volume 不存在时优雅降级,不影响正常运行
2026-07-22 12:08:15 +08:00
xiaoxia c4939a6941 feat(ci): 前端依赖 Docker Volume 持久化缓存
- 按 package-lock.json md5 hash 命名 volume,自动失效
- 缓存命中时跳过 npm ci,节省 2-5 分钟安装时间
- 保留最近 5 个缓存 volume,自动清理旧缓存
- volume 操作失败时自动降级为无缓存模式
- 保持原有 3 次重试 + 国内镜像源逻辑
2026-07-22 12:08:04 +08:00