Monzo finds Buddybuild to be the only provider that is focused on Mobile CI/CD complexities
In just over a year, the Monzo development team had gone through 5 different continuous integration and delivery services.
"We built manually, scripted together a set of fastlane tools, experienced the shutdown of ship.io, turned to Jenkins, and then tried Travis." says Joshua Garnham, iOS developer at Monzo. "We even toyed with the idea of pairing an Xcode Server with Buildasaur."
With all of these services, there was no guarantee their build service was going to keep working. "You either trust a service to automagically do most things for you but you need to retrofit your build processes," says James Nicholson, iOS developer at Monzo. "Or, you trust yourselves and carve out the time to build and maintain a build infrastructure tailor-made to what you want to succeed in development."
For Garnham, "The services we needed to configure ourselves — like fastlane or a manual build process — took too much development time to justify. It's tedious to manage scripts for any agile team."
And with those solutions not optimized for mobile, like Travis and Jenkins — "they felt a bit stagnant and quite frankly just fell short." says Garnham, "Even when we invested the time to try and fix the issues that arose, there was never an opportunity to ask questions and get real-time responses."
What was consistent with all 5 services they tried? Garnham says "there was just no guarantee it was going to keep working."
Being a small team — just three iOS developers within a fast-growing team of 45 — Monzo needed to iterate quickly, and find a way to build and distribute the app company-wide and to the community of their beta users.
"Buddybuild has the best and most unique set of features out there. Nearly every other service is focused on generic build tasks. Most other CI solutions we tried were so unspecialized and non-mobile focused it became unuseful," say Garnham, "With buddybuild, it's quite the opposite."
"We've been using buddybuild for 6 months now — twice as long as we used any of the other CI / CD services — and we're confident we've found a real solution." says Garnham.
"We were so used to experiencing the trade-off between automation and control over our build pipeline, that I was honestly skeptical buddybuild could do both," says Nicholson. "I'm happy to say it can."
"What caught my eye was the extensive feature list buddybuild offered out of the box." says Garnham, "But what kept us around was how easily configurable these features were. We're able to work the way we want to and feel confident in our build infrastructure."
"We aim to release to iTunes Connect every 2-3 weeks. Meaning we develop a feature through our beta and staging apps, then submit a PR from develop to master, automatically upload it to iTunes Connect and into production," says Nicholson. "Buddybuild enables us to do just this — in fact it's made this process much easier."
Monzo's favorite buddybuild features
Auto-Provision New Devices New users and their device UDID are auto-provisioned
Slack-based Deployment Download builds directly from Slack
Apple Developer Connect Send your app directly to iTunes Connect
The real differentiator for Garnham, Nicholson and the rest of the team is the technical support. "With buddybuild, we're confident our build process is reliable. And if it's not, an engineer is looking into it and will report back shortly." says Garnham.
For the Monzo team, "there's no trade-off beween automating our build pipeline and control over how it works. With buddybuild we have a reliable CI / CD, responsive support, and we remain in control of our development process."