Service accounts are useful for setting up App Distribution in a CI environment.
Authenticating with a
service account
allows you to use client libraries
(e.g., the Firebase CLI, Gradle, and fastlane) to distribute your
builds. When you use a service account to authenticate, Firebase uses
Application Default Credentials (ADC)
to locate your app's credentials, which you can provide by either setting the
GOOGLE_APPLICATION_CREDENTIALS
environment variable or by pointing
to the path of your service account key in your app's code.
- Open the
Google Cloud console
and select your project.
- Click
Create Service Account
and enter service account details.
- Click
Create and Continue
.
- Add the
Firebase App Distribution Admin
role and click
Done
.
- Create a private JSON key and move the key to a location accessible to your
build environment.
Be sure to keep this file somewhere safe
, because it grants administrator
access to App Distribution in your Firebase project.
Skip this step if you created your app after September 20,
2019
: In the Google APIs console, enable the
Firebase App Distribution API.
When prompted, select the project with the same name as your Firebase
project.
Provide your service account credentials:
For Gradle only
: In your
build.gradle
file, set the property
serviceCredentialsFile
to your private key JSON file:
android {
// ...
buildTypes {
release {
firebaseAppDistribution {
serviceCredentialsFile="/absolute/path/to/credentials/file.json"
releaseNotesFile="/path/to/releasenotes.txt"
testers="ali@example.com, bri@example.com, cal@example.com"
}
}
}
// ...
}
Optionally, you
can provide credentials to your app's code instead by following the step
below.
For the Firebase CLI, fastlane, or Gradle
: Set the environment
variable
GOOGLE_APPLICATION_CREDENTIALS
to the path of your private key
JSON file:
export GOOGLE_APPLICATION_CREDENTIALS=/absolute/path/to/credentials/file.json