Setting up a Continuous Delivery Platform

Buddybuild and Bitrise are continuous delivery systems for mobile apps. If you’re developing a mobile application, and are looking for a mobile focused continuous integration, continuous deployment and iterative feedback solution that takes minutes to setup and get running, Buddybuild for iOS and Bitrise for Android are the recommended solutions for you.

Buddybuild Acquisition

Previously Mobify recommended using Buddybuild as a continous delivery system for both Android and iOS. Buddybuild was acquired by Apple in January, 2018 and dropped support for Android. Mobify has migrated all Android projects over to Bitrise as of May, 2018.

Logging into the Continuous Delivery Services

Depending on where your project is hosted, you can log into Buddybuild or Bitrise using a supported provider or with email. Buddybuild allows login with supported providers, or via email. Bitrise also supports multiple providers or email.

Creating your first app

To create your first app, follow Buddybuild's quickstart guide. The quickstart guide will guide you through setting up an app, inviting testers, integrating the Buddybuild SDK (optional), auto-versioning and other useful platform-specific setup like syncing iOS provisioning profiles.

Bitrise's app setup guide guides you through the steps of setting up the repo and getting it building for the first time. For Astro apps the first build will not complete successfully as we need to add additional steps to the workflow to pull in dependencies. These steps are described in the next section.

Building an Astro app

Astro apps usually pull in their dependencies via npm. Some of the dependencies you pull in through npm you will want to include in the shipped app.

In Buddybuild, you should create a build script that gets invoked by Buddybuild. A good way to do this, is to invoke your build script as part of custom build steps in Buddybuild.

In Bitrise, you should add workflow steps to set your node version and perform necessary npm commands before you build the app.

Configuring your app

Once you have set up your app, you can configure various settings like integrations, dependency management versions, app access and webhooks. Check the Buddybuild official documentation and Bitrise official documentation for more information.

Distributing an app for testing #

Once you have a successful build on Buddybuild, you can use the Buddybuild infrastructure to distribute your app for testing. To do that, follow the manual deployment guide.

Other Buddybuild distribution methods you may be interested in are automatic deployments and scheduled deployments.

To install development builds, please follow the official guides.

Bitrise also allows you to distribute your app for testing. Follow their OTA app deployment guide to distribute your app to QAs and customers.

Publishing your app

App Store

Before you submit your app to the App Store, make sure you have read and understood Apple's guide to submitting an app to the App Store. Once you are happy with your release candidate, you can use Buddybuild to deploy to iTunes Connect

Google Play Store

Before you submit your app to the Google Play Store, it's a good idea to get familiar with publishing on the Play Store. Once you are comfortable with the Play Store, you can use Bitrise to deploy to Google Play

Frequently Asked Questions

How do you deal with per-branch differences in environment? For example, different node.js versions.

In Buddybuild you can select per-branch configurations in Buddybuild's App Settings. For example, setting different build variants.

In Bitrise you can trigger different workflows for specific branches or pull requests.

How do I get a build onto a device?

See the Distributing an app for testing section above

What's the difference between provisioning profiles and certificates?

See the official Apple Documentation on this topic.

What are the typical app settings used in Mobify builds on Buddybuild?

By default, we usually include the following settings on:

How do we deal with certificates expiring and updating them on Buddybuild?

When a certificate is going to expire, we renew it and upload it back to buddybuild. Certificates are usually stored in LastPass.