背景

Monorepo 常见痛点是:改了一个子目录,多个镜像都触发重建。

改进方向

  1. 精细化 .dockerignore
  2. 子项目独立 context
  3. 共享基础层分离
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 必须做分层构建设计。


构建系统的复杂度,迟早会和代码规模一起增长。