Pham Van Tai/Engineering work/Build & release

Build & release

How a commit becomes a signed Android build.

Studio
Archer Game Studio
Period
2026 – Present
Used in
Tech
Jenkins, Unity command-line builds, Firebase Crashlytics

Overview

RoleSet up and maintain
ScopeAndroid builds for Idle Airport Manager
Highlights
  • Jenkins pipeline on a Mac agent with dev and prod profiles.
  • Signed APK and AAB, uploaded to Google Drive and Google Play.
  • Discord message to the commit author when a build is ready.
  • Command-line build package in archer-core.
  • Crash reporting with Firebase Crashlytics.
  • QA devices excluded from analytics.

Pipeline

Android builds run on Jenkins with a Mac build agent. The keystore comes from Jenkins credentials, and the author gets a Discord message when the build is ready.

Parts

build packageOne command-line entry that builds a Build Profile with the version, debug flags and keystore Jenkins passes in, and builds Addressables first.
Google Play uploadScript that uploads the AAB to a Play track without extra tools.
sdk.crashlyticsCrash and error reporting contract, started before boot so early crashes are caught. Firebase is the backend.
sdk.device.whitelistQA and publisher devices are recognised by device id and kept out of analytics.
consoleCaptures logs on device and forwards them to sinks such as a Discord webhook for QA reports.
Release phasesA content switch hides features by release phase, so Prototype and MVP builds come from the same branch.