- This repository contains scripts needed to automate tasks listed under Lanes in fastlane Fastfile for a flutter-Firebase project.
Fastlane is an open-source platform aimed at simplifying Android and iOS deployment. It automates numerous tasks such as screenshots, beta deployment, and release to app stores. Fastlane can also integrate with various services, including Slack for notifications, making it a powerful tool for mobile app development and continuous delivery pipelines
Slack is a workplace communication platform that allows teams to chat, share files, and collaborate on projects.
- Slack API - For creating apps within your workspace.
- Upload files to Slack - Documentation on how to use slack to upload files(in our case we upload apk files)
- Create a Firebase Android App.
- Ensure that you create a service account on GCP and allow needed permissions in your Google Play Console for the service account email.
- Install Ruby on your local machine.
- Set up fastlane in your android directory of your flutter project.
- Create an App on slack, and add the App to the channel that you'd like to send messages to(e.g your team's channel)
Lane name : increase_build_number
What it does
Increase the build number in the pubspec.yaml file by 1. Executes ruby script which performs this task.
Lane name : increment_vc
What it does
Increase the version code in the build.gradle(app-level) file to 1
Lane name : internal
What it does
Deploys app bundle to Google Play Store and notifies channel on Slack, upon success or failure
Lane name : build_apk
What it does
Run a shell command to build apk
Lane name : upload_to_slack
What it does
Upload apk to Slack Channel. It runs a script written in Ruby that utilizes the Slack Upload API. Notifies channel upon success or failure.
Lane name : upload_to_firebase
What it does
Releases appbundles to Firebase App Distribution.
Lane name : upload_ipa
What it does
Upload ios builds to app store connect. Follow this link to learn more.
slack_uploader.rb
- Uploads apk to Slack.
increase_version.rb
- Increase build number by 1 in pubspec.yaml.
- I intend on including Github Actions workflows for CI/CD.
- Addition of more detailed instructions with screenshots.
This repo is still in development. If you'd like clarifications on anything, please reach out at papakofi.tech. Have fun automating your Play Store releases.