Adding Apple App Store Integration
What does this MR do and why?
Related issue: gitlab-org/incubation-engineering/mobile-devops/readme#36 (closed)
This MR adds a new integration for the Apple App Store Connect API which can be used to validate the configuration and inject the necessary configuration values into CI pipelines as CI variables. These variables are named to match the environment variables expected by the app_store_connect_api_key
in Fastlane.
With this integration enabled, a single entry in a project's fastlane file will login to the Apple App Store so that subsequent interactions are authorized, such as uploading a build to Test Flight or the public App Store.
app_store_connect_api_key(
is_key_content_base64: true
)
Screenshots or screen recordings
Screenshots are required for UI changes, and strongly recommended for all other merge requests.
How to set up and validate locally
Testing this integration locally requires App Store Connect credentials, which require a paid Apple developer account. If you don't have an account, ask @darbyfrey and he can give you test credentials.
- Generate App Store Connect API credentials. See the "Creating an App Store Connect API Key" in the Fastlane docs
- Clone this demo project with a build preconfigured to use the integration and add it to your local GDK https://gitlab.com/gitlab-org/incubation-engineering/mobile-devops/apple-integration-demo
- Enable the integration for the newly created project, in project settings > Integrations -> Apple Apps Store Connect, and enter the Issuer Id, Key Id, and Private Key generated in Step 1.
- Use the Test Settings button to ensure the credentials are correct before saving the changes.
- Once the changes are saved, run a new pipeline in the project. In the job log output it should show a confirmation that connection to Apple was successful.
MR acceptance checklist
This checklist encourages us to confirm any changes have been analyzed to reduce risks in quality, performance, reliability, security, and maintainability.
-
I have evaluated the MR acceptance checklist for this MR.