iOS Continuous Integration & Deployment (CI/CD) Comparison

iOS developer Shashikant Jagtap was eager to start building and testing his iOS app, XCFit, using a cloud-based mobile continuous integration (CI) system. Having used only self-hosted CI servers in the past, Jagtap conducted an in-depth evaluation of the popular cloud CI systems before choosing which was best suited for his own mobile projects. The services he evaluated were: Buddybuild, CircleCI, Bitrise, Nervercode,io, and Travis CI.

Comparing Cloud Mobile CI Services

To make things interesting, Jagtap created the 2017 iOS CI Olympics to conduct his evaluation. The CI Olympics are a series of events designed to test certain features, ease of use, and the overall performance of each service. In total, there were twenty events (or criteria) the CI services ‘competed’ in, some of which were:

  • Sign Up & Project Setup
  • Custom Build Steps Code Signing & Distribution
  • Speed
  • Xcode & Apple Developer Tool Upgrades
  • Third Party Integrations

Jagtap shared his first impressions and experience building and testing his app with each CI system in a series of detailed blog posts.

Gold medal for buddybuild: the best Cloud iOS CI System

In the end, Jagtap found buddybuild to be the best iOS Continuous Integration service for his iOS projects, and awarded buddybuild the iOS Continuous Integration gold medal in the 2017 CI Olympics!

Why buddybuild?

Here are just some of the reasons Jagtap found buddybuild to the most robust and reliable CI / CD for his iOS projects:

Ease of setting up an iOS continuous integration system

According to Jagtap, “the buddybuild signup process was very straightforward.” To start the first build of your app in buddybuild, all that’s needed is for you to sign in with your preferred source control hosting system credentials, and select which repo you’d like to build. From there, buddybuild will access your source code, scan your repository to determine which platform and schemes to build, and set up a fresh build environment specific to your app’s configuration. For the majority of development teams setting up a continuous integration system only takes a few minutes with buddybuild.

Building complex build configurations without scripts

During his first build, buddybuild identified the schemes present in Jagtap’s XCFit project and he was prompted to select which scheme he wanted to build. Once Jagtap selected the his desired scheme, buddybuild configured a build environment specific to the XCFit app, and executed the build. “Buddybuild started building the scheme and automatically identified the Cartfile inside the project,” wrote Jagtap. “Buddybuild started with running carthage bootstrap command and then built the dependent project. Buddybuild also ran the tests and archived the test results.”

Once the build was complete, Jagtap had a working CI system for his iOS project.

Speed of iOS build time

According to Jagtap, “buddybuild was extremely fast in starting, and processing iOS builds. The process of setting of the environment, checking out source code, scanning the source code for apps, running the build was very quick.”

Since buddybuild is built specifically for mobile projects, it’s able to quickly analyze your repo and create smart defaults for your project to correctly configure your build process.

Xcode & Apple Developer Tool Upgrades

Of all the CI services, Jagtap found buddybuild to be “super quick” in making new Xcode versions, and Apple Developer Tools available. At buddybuild, we typically release the newest versions, and betas within 24 hours of Apple’s release. We've also created a feature called Xcode Preview to test your app against the latest version of Xcode and email you the results to notify you of any potential breaking changes.

Wrapping Up

As Jagtap continued to test the buddybuild platform, and compare it to the other cloud CIs, it became apparent buddybuild was best-suited for his mobile development workflow. Some of the other differentiators Jagtap reported were: open source project support, how easy it was to customize the build process, the technical documentation and customer support.

On behalf of the entire buddybuild team, we would like to thank Jagtap for his in-depth review of our service — we deeply appreciate his honest feedback that will help us improve the buddybuild experience!

To see buddybuild in action, try it for yourself by starting a 3 week trial!