Just Eat Alberto De Bortoli Jan 3, 2024

Scalable CI/CD Pipelines for iOS

M2 Related OWASP risk: Inadequate Supply Chain Security Learn more →

Article Summary

Alberto De Bortoli from Just Eat Takeaway reveals how his team built a fully automated iOS CI system that supports 40+ developers with just 5 bare metal instances. No manual SSH. No weekend waste. Pure infrastructure-as-code.

Just Eat Takeaway migrated from Jenkins to GitHub Actions in 2023, rebuilding their entire iOS CI infrastructure from scratch. The team leveraged Packer, Terraform, and AWS EC2 Mac instances to create a scalable, code-defined system that automatically provisions runners, connects to GitHub Actions, and scales based on developer demand across multiple time zones.

Key Takeaways

Critical Insight

Just Eat Takeaway built a fully automated, scalable iOS CI system that provisions configured runners in under 8 minutes and supports 40+ developers with minimal infrastructure.

The article reveals why their Tart VM experiment failed spectacularly and the clever macos-init trick that makes runners connect without UI access.

About This Article

Problem

Just Eat Takeaway's iOS teams each ran their own CI setup. Some used in-house Jenkins, while others had CircleCI or GitLab CI. This fragmentation meant a lot of maintenance work and inconsistent practices across teams.

Solution

Alberto De Bortoli's team moved everything to GitHub Actions. They used Packer to define macOS instance configurations in code and Terraform to manage the infrastructure. This made deployments reproducible across the organization.

Impact

The setup handles 40+ iOS developers on just 5 bare metal instances on average. New AMIs take 70-100 minutes to build, and the entire infrastructure can redeploy in under 8 minutes.