-
Notifications
You must be signed in to change notification settings - Fork 3
Android App Deployment (EN)
This document is a WIP.
Currently, the deployment of the beta flavor is done automatically by Travis-CI and Gradle Play Publisher.
The release process starts when a commit is made on master. Even the though the process is automated, human intervention is still needed to update the release notes published on the Play Store. The app's release notes are stored here. Before committing on master, the release notes and should be changed. If not, the previous release notes will be used.
Here are the steps done by Gradle Play Publisher and Travis-CI to release the beta version:
The process starts when a commit is made to master. A build is normally run by Travis according the travis.yml file. If the build succeeded, Travis will also execute the deploy block which simply execute the deploy_beta.sh script.
The deploy_beta.sh script will start by decrypting and placing the following files in the right directory:
- google-services.json: A config file used for Firebase
- secrets.xml: A file containing API keys used by the app to access various API's such as Google Maps or Buglife.
- etsm_upload_ks.jks: The keystore containing the upload key
- keystore.properties: A keystore peroperty file that contains the path to the keystore, the keystore's password, the upload key's alias and the upload key's password. Those information are used in the
signingConfigs
block of the app's build.gradle - service_account_credentials_beta.json: A file containing the private key of the service account used by Gradle Play Publisher to access the Play Developer API
The deploy_beta.sh script will run the publishBetaReleaseApk
Gradle command which will deploy on the Play Store. After a moment, the update should be available to the users.