Markdown

Publishing

Publish apps (iOS and Android)

The pipeline builds and signs your app, distributes it to TestFlight and the Internal Track, and then waits for you to release it to the store.

On this page

The platform builds and signs release builds for iOS and Android, uploads them to Apple and Google, and keeps the store texts in sync. It manages iOS code signing through an encrypted repository of your organization.

What you set up once

For Apple you need a membership in the Apple Developer Program and an API key from App Store Connect; for Google you need an account in the Google Play Console and a service account with a JSON key. You store both under Store accounts.

In the app you select the store account and the identifier you created in the Apple and Google consoles: the bundle identifier or the package name.

For an Android app that is already published on Google Play, you import the original upload key once.

Texts and screenshots live as store metadata in the app repository.

What happens on every merge to main

With a linked store account, the pipeline builds release builds after every push to main and assigns the new version number. publish-ios uploads the iOS build to TestFlight and updates the store metadata in App Store Connect without submitting the app for review. publish-android publishes the Android build to the Internal Track of the Play Console. In addition, the pipeline distributes both builds to testers through Firebase App Distribution. The general flow is described under Git workflow and deployment.

Note
Without a linked store account, the pipeline builds debug builds and distributes them through Firebase App Distribution only.

Releasing to the store

For the store, start a manual job in GitLab under CI/CD → Pipelines: release-ios submits the app to Apple for review and publishes it automatically afterwards, and release-android promotes the build to the Production Track. How to start manual jobs is described under What are pipelines?.

What Apple and Google expect during review is covered under App store review notes.