跳过正文

BuildKit

容器镜像构建优化:BuildKit、多阶段构建与供应链安全

容器镜像构建优化:BuildKit、多阶段构建与供应链安全

·1603 字·8 分钟
深入剖析容器镜像构建优化的每个环节:BuildKit 并行构建与 Secrets 注入、Go/Python/Node.js 多阶段 Dockerfile 模板、–mount=type=cache 与远程缓存、Distroless vs Alpine 选型、dive 分析层内容,以及完整的供应链安全闭环(syft SBOM + Cosign 签名 + K8s 准入控制验签)。
Earthly 在 Monorepo 的构建统一:Earthfile + Satellites 实战

Earthly 在 Monorepo 的构建统一:Earthfile + Satellites 实战

·1437 字·7 分钟
Bazel 复杂度太高,Makefile 表达力不够,Dockerfile 只能构建一个镜像——Earthly 填的就是这个缝:像 Dockerfile 一样熟悉,像 Makefile 一样组合,像 Bazel 一样可并发、可缓存、可复用。本文讲清楚它在 Monorepo 里的真实位置。
Dagger 实战:用代码而不是 YAML 编写 CI/CD

Dagger 实战:用代码而不是 YAML 编写 CI/CD

·1653 字·8 分钟
每次迁移 CI 平台(Jenkins → GitLab → GitHub Actions → Tekton),业务流水线都要重写一遍。Dagger 的思路是:把流水线写成可移植的代码(Go/Python/TS),底层引擎负责执行和缓存,CI 平台只是调用方。本文讲清楚它怎么工作、什么时候值得引入。
BuildKit 缓存生产实战:从多阶段到远端 Registry Cache

BuildKit 缓存生产实战:从多阶段到远端 Registry Cache

·1648 字·8 分钟
BuildKit 的缓存体系看似简单一行 –cache-to,实际生产里坑极多:mode=max 在多架构下的 manifest 行为、registry 后端每层 0.3s 的验证开销、cache mount 在 –cache-to=registry 下不被导出的限制、GHA 后端 10GB 上限……本文基于真实 CI 流水线的调优记录,给出一套可复制的生产配置。