What's (in) a Build System?
summary
Ceph's build system moves from brittle, multi-script Jenkins jobs to containerized, reproducible builds using the build-with-container (BWC) tool and new Groovy pipelines. Pipelines produce one source tarball, can build specific commits, and split logs by phase; DWZ is skipped by default to cut an hour-long compile+package down to ~30 minutes and with a warm scache shared cache to ~20 minutes. BWC supports interactive shells, overlays, and git-trailer triggers; cache size is ~8 TB and single-thread DWZ is avoidable. git trailers and single source tarball are usable now.
AI-written summary · about
chapters (8)
- 0:00Introduction
- 1:02What is a build system
- 4:15Legacy build challenges
- 8:38Containerizing builds
- 13:38New build pipelines
- 17:58Shared compiler cache
- 20:47Future improvements
- 22:34Q&A
related talks
35mReleasing Ceph - Deep Dive Into Build Infrastructure
46mWorkflow in Jenkins
36mUsing Bazel for Fast, Correct Docker Deployments
58mOptions Galore to Get from Source Code to Container
25mContainer pipeline for devs and enterprises alike!
26mBuilding Go with Bazel
06mBuilding Continuous Delivery Pipelines
05mCeph BenchOps: Following DevOps Practices for Benchmarking Ceph
