Rewriting an Old CI/CD on GitHub Actions for 280 Contributors?
summary
A company migrated from Jenkins to GitHub Actions over about 2.5 years to rebuild CI/CD for roughly 280 contributor teams, scaling to about 5,200 self-hosted runners at peak. The implementation used the Action Runner Controller on EKS with IRSA for least-privilege, Docker mirrors to avoid registry rate limits, IPv6 to prevent ENI exhaustion, and Prometheus/VictoriaMetrics for monitoring; secrets were moved to SOPs with AWS KMS and rotation, while builds used Docker buildx/bake and Helmfile for deployments. The migration completed by end of 2022 and produced a stable platform in 2023, with ongoing work on cost optimization and multi-cluster scaling.
AI-written summary · about
chapters (19)
- 0:00Introduction
- 2:57Jenkins problems
- 5:02Migration to GitHub Actions
- 6:44Runner deployment
- 11:38Least privilege with IRSA
- 15:08Technical debt payoff
- 17:14Code sharing
- 18:17Docker build optimization
- 20:01Helmfile deployment
- 23:51Secrets with SOPs
- 26:42Dependency automation
- 28:31Quality controls
- 29:56Encountered issues
- 31:22Scaling and costs
- 33:49Team acculturation
- 34:09End-2023 results
- 35:12Limits and outlook
- 36:59Current complexity
- 38:26Q&A
related talks
46mQuality Beyond Testing: Jenkins to GitHub Actions Migration: Optimized Processes & QA
30mPragmatic, scalable, and ergonomic CI/CD using Github Actions and K8s.
36mRunning the Runners: How CNCF Powers GitHub Actions at Scale
25mFrom Hero to Zero Effort–Simplifying CD
55mGitHub Actions - CI:CD and more
41mScaling GitHub Actions To the CNCF
48mCICD with Github Actions
34mRunning the Runners: How CNCF Powers GitHub Actions at Scale
