Idea: App Store Connect API Login
A credential key file
, key id
, and issuer id
are used to authorize API access to the Apple App Store Connect management platform. If GitLab supported the upload of these credentials it would simplify the process of uploading builds to the App Store and would set us up for further integrations in the future (like user management, and certificate integrations).
App Store Connect API reference: https://developer.apple.com/documentation/appstoreconnectapi
The first iteration would simply be adding the ability to upload the credentials, and pass those credentials to the Fastlane upload_to_testflight
and upload_to_app_store
actions to streamline the release process.
Part 1 - User generates an App Store Connect key with Apple
This is a manual process the user must do, described here in the Creating an App Store Connect API Key
section: https://www.runway.team/blog/how-to-build-the-perfect-fastlane-pipeline-for-ios
Part 2 - Upload
Create a mechanism for the user to upload the newly created credentials to GitLab.
The uploaded credentials should be validated as well.
Part 3 - Add credentials to CI builds
Adding the credentials to the build could be done in a couple of ways. The example here uses environment variables to load the data for the Fastlane action https://gitlab.com/gitlab-org/incubation-engineering/devops-for-mobile-apps/readme/-/issues/30#app-store-connect-api
The app_store_connect_api_key
Fastlane action can be used to load the environment variables into the Fastlane environment so they can be used by the upload_to_testflight
and upload_to_app_store
actions.
Note: A security evaluation of an approach like this would be necessary as well.