Stop publishing your Android apps manually and start doing this fully automated at any stage.
Mobile development, as well as any other software development, requires writing code that has to go through all possible tests. To exclude the possibility of errors, which are likely to be caused by human factors, we have made a mobile CI/CD pipeline to automate the processes of verification and delivery of the application to the test and production environment.
This article overviews the boilerplate for building a CI/CD pipeline for Android via Fastlane and GitHub Actions.
Above all, CI/CD allows you to increase productivity with automation.
With the help of a CI/CD, you can automate the various tasks within building an app, create artifacts (.apk, .aab), and deploy them into production. This eliminates manual chores and makes the developer’s life easier.
Fastlane is an open-source platform aimed at simplifying Android and iOS deployment. Fastlane lets you automate every aspect of your development and release workflow. It allows you to customize your app's build types and flavors.
Besides building apps, Fastlane handles various tedious tasks such as code signing, generating screenshots, releasing apps, and much more.
Its built-in plugin system makes it easy to extend its capabilities. Various tools/plugins allow you to create apps that can be published to the Google Play Store, Firebase App Distribution, or Apple TestFlight.
Now it is time to look closer at our boilerplate. Why do you need it?
Components scheme:
And there are the following advantages:
To understand the next steps in a little more detail, you can first check out our video overview:
Let’s get started with the Android CI/CD tutorial!
First of all, you need to:
Only after that can we move to keys for building and releasing Android applications.
base64 google-services.json > firebase_setting
base64 sa.json > key_firebase
base64 google_play.json > google_play
keytool -genkey -v -keystore my-release-key.keystore -alias alias_name -keyalg RSA -keysize 2048 -validity 10000
If you need to prepare the CI/CD in GitLab, please see the
GitHub --> Settings --> Secrets --> Actions --> New repository secret
GOOGLE_SERVICES_JSON
SA_JSON_KEY
SA_JSON_GP_KEY
KEYSTORE
ALIAS
ALIAS_PW
KEYSTORE_PW
APPROVERS
APP_PACKAGE_NAME
APP_PACKAGE_NAME_STAGING
APP_VERSION_NAME
FIREBASE_APP_ID_PROD
FIREBASE_APP_ID_STG
SLACK_WEBHOOK_URL
You can find more information about environment variables on
When you complete all this preparation, you can start to build and release the application to Firebase. That’s all!
We hope you will find this boilerplate helpful and you will find it among mobile CI/CD pipeline best practices for Android.
We look forward to your feedback on our boilerplate.