Trunk Gating with Gerrit, Jenkins & Zuul
summary
OpenStack wires Gerrit, Jenkins and Zuul so changes only land when automated checks pass: Zuul performs speculative parallel testing of interrelated patches, cancels and reruns builds when upstream failures appear, and tells Gerrit to merge on success. The CI runs about 305 Jenkins jobs, with end-to-end tests that currently take 40–60 minutes per run. Configuration lives in YAML and Jenkins Job Builder templates, the system is free software in production, and it prevents broken trunk merges.
AI-written summary · about
chapters (23)
- 0:00Introduction
- 0:42What is OpenStack
- 3:45OpenStack
- 7:04Rapidly Growing
- 7:31Easy to onboard new developers
- 7:49Benefits of gated trunk
- 9:37Automation
- 10:37Process Flow
- 12:42Garrett
- 16:02Gerrit
- 17:01Jenkins
- 18:11Zuul
- 22:02Demonstration
- 25:08Zuul Configuration
- 29:17Projects
- 30:13Multiple Projects
- 31:17Jenkins API
- 33:18Jenkins Python
- 33:50Notification API
- 38:01Project Configuration
- 38:24Job Builder
- 39:29Puppet Configuration
- 41:15Merge Conflicts
related talks
34mProject Gating with Zuul
30mGuarding the gate with Zuul
15mAdvanced Zuul Features as used by OpenDev
27mVolvo and Zuul CI
45mDeveloping, testing and deploying open infrastructure with Zuul for the OpenDev collabatory
43mThere is no Dana only Zuul
29mSimultaneous Dependencies with Zuul
36mCI/CD BoF: Delivering Quality Quickly
