fix(ci): Web 镜像 buildx 幽灵缓存防护——Git Tree Hash Cache Bust #1585
Reference in New Issue
Block a user
Delete Branch "fix/buildx-web-cache-bust"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
问题
ci-builder-persist 持久化 builder 的 buildkit 层缓存偶尔出现"幽灵命中":COPY apps/web/ ./ 步骤认为自己没变(实际文件已改),导致 vite build 不执行,打出来的 Web 镜像前端文件是旧的。
修复原理
把
apps/web/目录的 git tree hash 作为 build arg 传入 Dockerfile。buildx 把 build arg 值作为缓存键的一部分,hash 变了 → RUN 步骤缓存失效 → vite build 必须重新执行。依赖层(npm ci)不受影响,仍然正常缓存。改动
ARG SOURCE_HASH,在构建步骤写入.cache_bust文件验证
Web cache bust: SOURCE_HASH=xxxxx🚀 预览环境已部署
代码审查结果 - PR #1585
⚠️ 问题(0个需要修改)
💡 建议(0个可选)
✅ 格式检查通过 | ✅ 逻辑审查通过 | ✅ 性能无隐患
🤖 由 AI 代码审查机器人自动生成 | 2026-08-31 13:41:27 | 模型:
🗑️ 预览环境已清理
PR #1585 已关闭或合并,对应的预览环境已被清理。