Android
Build APK and AAB artifacts, sign them with vault-stored keystores, and publish directly to Google Play — all from a single Opsera pipeline with zero manual scripting.
Prerequisites
Android Google Play tool registered in Opsera Tool Registry
JFrog Artifactory Maven tool registered(optional — only for artifact push to JFrog)
Git repository registered in Tool Registry (GitHub, GitLab, or Bitbucket)
Keystore (.jks) stored in Opsera's encrypted vault for release signing
Script types
Gradle Bundle Release
./gradlew bundleRelease
AAB for Google Play
Gradle Assemble Release
./gradlew assembleRelease
Release APK
Gradle Assemble Debug
./gradlew assembleDebug
Debug APK for QA
Custom Command
Manual entry
User-defined
Pipeline Setup
Create the pipeline
Go to Pipelines → Create Blank Pipeline → Workflow → Edit Workflow.
Create a build android step
Click +. Step Setup: Tool = Build, Step Type = Build. In Step Settings set Type to Android, choose a Script Type, and set Container Size based on project complexity (Small → Extra Large).
based on project complexity (Small → Extra Large).
SCM Type
GitHub / GitLab / Bitbucket
Script Type
Gradle Bundle Release, Assemble Release, Assemble Debug, or Custom
Artifact File Path (AAB)
app/build/outputs/bundle/release/app-release.aab
Artifact File Path (APK)
app/build/outputs/apk/release/app-release.apk
Container Size
Small → Extra Large based on build complexity
Enable signing (release builds only)
Toggle Sign Artifact on. Select the keystore from Opsera's vault. Keys are injected at runtime only — never logged or stored in source code.
Add JFrog Artifactory step (optional)
Tool = JFrog Artifactory Maven, Step Type = Deploy. Set Dependency to the build step. Configure Group Name, Artifact Name, and optionally enable Use Run Count as Version.
Add Android Publish step
Tool = Android App Deploy, Step Type = Deploy. Set Dependency to the build step.
Track
Internal / Alpha / Beta / Production
Release Status
Draft = saves without publishing; Completed = publishes immediately
Package Name
Unique app ID registered in Google Play Console
Release Notes
Describe changes for this release version
Run and Monitor
Click Start Pipeline. View results at Summary → Pipeline Logs → Console Output.
Points to remember
UseAAB (Gradle Bundle Release)for production Google Play releases — Google recommends AAB over APK for Play distribution as it enables dynamic delivery.
UseDraftrelease status during initial rollouts to allow manual review in Google Play Console before going live.
If a unit test fails at any point, the pipeline halts immediately — no artifacts are published and stakeholders are notified.
To publish to multiple tracks simultaneously, add multiple publish steps in the same pipeline — each with a different Track value.
Rollback must be done manually in Google Play Console — Opsera does not auto-rollback to prevent unintended changes to production.?
FAQs
How are signing Credentials secured?
Keystores and API keys are stored in Opsera's encrypted vault and injected only during pipeline execution. They never appear in logs or source code.
Can I use GitLab or Bitbucket?
Yes. Opsera supports GitHub, GitLab, and Bitbucket. Configure your SCM account under Tool Registry before creating the pipeline.
Last updated

