Deep Dive into iOS Automation at Grab - Continuous Delivery
Article Summary
Grab's iOS team ditched Fastlane for custom bash scripts and built a Slackbot named Iris (reverse of Siri) to automate their entire build pipeline. Sometimes simpler really is better.
The Grab iOS engineering team shares how they handle continuous delivery at scale with 4 different build configurations (Adhoc QA, Hot Dogfood, Dogfood, and Testflight). Instead of using popular tools, they built custom solutions that took just over a week to set up and perfectly fit their needs.
Key Takeaways
- Replaced Fastlane with custom bash scripts under 100 lines each for archiving
- Built Slackbot using server-side Swift and SlackKit for self-service builds
- Four build configs serve different audiences from QA to company-wide beta testing
- Deployed with Capistrano for easy rollbacks and minimal server provisioning
Grab's iOS team proves that custom-built automation tailored to your specific needs can beat off-the-shelf tools, delivering a working CI/CD pipeline in just over a week.
About This Article
Grab's iOS team needed to get beta builds to different groups: mobile developers, QAs, backend developers, and testers across the company. Apple's device whitelist limits on standard developer accounts made this tricky.
They set up four build configurations named Adhoc QA, Hot Dogfood, Dogfood, and Testflight. These were distributed through Fabric and iTunes Connect. The first three used enterprise account signing to work around the device restrictions.
In just over a week, the team built a complete CI/CD pipeline. They combined custom bash scripts, server-side Swift with SlackKit integration, and Capistrano deployment. This let people request builds through Slack commands and roll back when needed.