You can distribute builds to testers using
an open source platform that automates building and releasing iOS and Android
apps. It follows simple instructions defined in a
Fastfile. After you set up
fastlane and your
Fastfile, you can integrate App Distribution with your fastlane
Step 1. Set up fastlane
To add App Distribution to your fastlane configuration, run the following command from the root of your iOS project:
fastlane add_plugin firebase_app_distribution
If the command prompts you with an option, select
Option 3: RubyGems.org.
Step 2. Install the Firebase CLI
Install or update to the latest version of the Firebase CLI (we recommend downloading the standalone binary for the CLI specific to your OS). Make sure to sign in and test that you can access your projects.
Retrieve the installed path of the Firebase CLI (the path is used to configure your
Fastfilein the next step).
Step 3. Set up your Fastfile and distribute your app
./fastlane/Fastfilelane, add a
firebase_app_distributionblock. Use the following parameters to configure the distribution:
Required: Your app's Firebase App ID. You can find the App ID in the Firebase console, on the General Settings page.
Absolute path to the Firebase CLI binary. If unspecified, fastlane determines the binary's location from the output of
A refresh token that's printed when you authenticate your CI environment with the Firebase CLI (read Use the CLI with CI systems for more information).
Absolute path to the IPA file you want to upload. If unspecified, fastlane determines the file's location from the lane in which the file was generated.
Release notes for this build.
You can either specify the release notes directly:
release_notes: "Text of release notes"
Or, specify the path to a plain text file:
The email addresses of the testers you want to invite.
You can specify the testers as a comma-separated list of email addresses:
testers: "firstname.lastname@example.org, email@example.com, firstname.lastname@example.org"
Or, you can specify the path to a plain text file containing a comma-separated list of email addresses:
The tester groups you want to invite (refer to Manage testers). Groups are specified using
group aliases, which you can look up in the Firebase console.
You can specify the groups as a comma-separated list:
groups: "qa-team, trusted-testers"
Or, you can specify the path to a plain text file containing a comma-separated list of group names:
A boolean flag. You can set this to
trueto print verbose debug output, or
falseto print normal debug output.
platform :ios do desc "My awesome app" lane :distribute do build_ios_app(...) # build_ios_app is a built-in fastlane action. firebase_app_distribution( app: "1:123456789:ios:abcd1234", testers: "email@example.com, firstname.lastname@example.org", release_notes: "Lots of amazing new features to test out!", firebase_cli_path: "/absolute/path/to/firebase/cli/binary" ) end end
Finally, to make the build available to testers, run your lane:
After you distribute a new build, you can monitor the status of each tester (whether they accepted the invitation and whether they downloaded the app) in the Firebase console.