The platform builds, signs, and distributes your apps automatically. You only take care of two things: setting up the store credentials once and later triggering the store release.
One-time setup
- Create store accounts – as organization credentials:
- Apple: developer account + Fastlane credentials
- Google: Play developer account + Fastlane credentials
- Link them in the app: when creating or editing the app you set the bundle ID and select the store account.
- Existing Play Store apps: if the app is already published, import the original upload key — see Android: Import upload key.
- Maintain metadata: title, description, and screenshots – see Store metadata.
iOS code signing (certificates, provisioning profiles) is managed automatically by the platform via an encrypted repository of your organization – nothing to do here.
What happens automatically on every merge
As soon as your code is in main and a store account is linked:
- The pipeline builds the release builds for iOS and Android and assigns the new version.
publish-iosuploads the build to TestFlight (internal testers) and updates the store metadata – without submitting for review.publish-androidpublishes the build to the Internal Track of the Play Console.- Builds are additionally distributed to testers via Firebase App Distribution.
So you can test every state internally before it goes to the store.
The store release (manual)
When a build should go to the store, start the manual job in GitLab under CI/CD → Pipelines:
release-ios– submits the app to Apple for review; after passing review it is released automatically.release-android– promotes the Internal Track build to the Play Store’s production track.
Tips for the store review: App store review notes.
See also
- Store metadata – titles, descriptions, and automatic screenshots.
- Android: Import upload key – for already published apps.
- What are pipelines? – starting manual jobs in GitLab.