背景
Monorepo 常见痛点是:改了一个子目录,多个镜像都触发重建。
改进方向
- 精细化
.dockerignore - 子项目独立 context
- 共享基础层分离
COPY services/api/go.mod services/api/go.sum ./
RUN go mod download
COPY services/api/ ./
RUN go build -o app ./cmd/api
总结
缓存命中率是 CI 成本的核心变量,Monorepo 必须做分层构建设计。
构建系统的复杂度,迟早会和代码规模一起增长。