Implementing CI/CD at NGINX -- Lessons Learned Along the Way
summary
Two NGINX OSS projects move from a 30‑hour local build script to GitHub Actions pipelines, publishing Docker images weekly to Docker Hub, GitHub Container Registry and ECR while adding manual workflow_dispatch triggers; caches cut build time from 4–5 hours to 10–30 minutes but silently skip dependency updates causing stale CVE exposure; implement one delivery target at a time, pin package versions, run test matrices to cut an 8‑hour suite into parallel jobs, set fail‑fast false, and use docker buildx + QEMU for multi‑arch builds (amd64, arm64, s390x).
AI-written summary · about
chapters (7)
- 0:00Introduction
- 1:08What is NGINX
- 2:54NGINX projects overview
- 4:59Docker NGINX image lessons
- 12:04Ansible NGINX role lessons
- 24:07Pipeline as code benefits
- 27:40Q&A
related talks
27mOptimizing CI/CD Pipelines for Faster Time to Market
39mRemove your Testing Bottleneck with CI/CD Pipelines
41mContinuous Integration Tips & Tricks
32mContinuous Integration and Deployment: Five Lessons Learned
52mFront End Testing with GitHub Actions
54mPipeline Patterns and Antipatterns - Things your Pipeline Should (Not) Do
32mPractical Tips & Tricks for CI/CD Success
20mHow to Setup Test Infrastructure
