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.
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
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.
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
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:
- Build pushes
- Build pull requests
- Build notifications
- Auto-cancel builds
- Incremental builds
- Unit tests
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.