Reading Time: 7 minutes

Appcircle is a mobile CI/CD platform that provides a fully automated environment to manage mobile app CI, CD and CT (continuous testing).

For continuous testing, you have a number of options with Appcircle and the two widely used options are also supported: Google Play Console Testing (tracks) and Apple TestFlight. In this article, we will be setting a mobile CI/CD pipeline for deployment to these services in a few easy steps.

Manage your mobile CI, CD and CT (continuous testing) with Appcircle

Table of Contents

Adding the Right Signing Identities

For deploying apps to Google Play Console and App Store Connect, the first step is to ensure that you have the right signing identities.

For Android, the keystore must match the keystore of the app currently in the store. You can get more information on managing Android keystores from the documentation: Android Keystores

 

For iOS, the app must be signed with a App Store distribution certificate. You can get more information on managing iOS certificates from the documentation: iOS Certificates & Provisioning Profiles.

Building the App

Building your mobile applications is very easy with Appcircle no matter what platform and language you are using. You can connect your repositories from GitHub, Bitbucket or GitLab to Appcircle.
You can also connect to public repositories directly or use SSH for custom repository connections. To learn more about connecting your project, please refer to: Adding a Build Profile & Connecting a Repository.

 

To deploy apps to Google Play Console and App Store Connect, please make sure that your Android Package Name and iOS Bundle ID matches the destination app listing.

Appcircle will fetch all your branches and commits in your repository and lets you build any commit for testing. Before a build, you can configure your project by following the steps here: Build Profile Configuration Overview. AAB is also supported for Android apps.

For Android, you can assign the previously set up keystores in the Android Signing tab and for iOS, you can assign bundle IDs and provisioning profiles in the iOS signing tab.

Once the build is configured, you can easily build your app manually or automatically and then, when the build is successfully complete, you can send it to the Appcircle Distribute module for the next steps.

Deploying the App

Actually, Appcircle also offers a more convenient testing distribution tool in the Distribute module. You can use Appcircle to share your apps with testers and preview them on the in-browser simulator/emulator without the need for third-party tools and separate tools for iOS and Android. You can get more information about the Appcircle Distribute module here.

Regardless, it is necessary to deploy the app to the Distribute module before sending it to the stores. Once the app is deployed from the Build module or uploaded directly if it was built externally, you can deploy Android apps to the Upload to Google Play module and deploy iOS apps to the Upload to App Store Connect module.

Uploading the App to Google Play Console

Configuring Google Play Developer API Keys

To send apps from Appcircle, you need to provide a Google Developer API key. To add a key, go to My Organization and press the “Add New” button (or the “Manage” button first if you have saved keys) next to the “Google Play Developer API Keys” item under the Connections section. The add key screen will be displayed.

Create a key in JSON format in the Google Developer Console and upload it here for API authentication. Please keep this file as it is the only copy and it will be required during every store submission for security purposes.

Then enter a user-friendly name to identify the key in the lists and press save. You can use this key in multiple apps without the need for key uploads at every upload process.

Sending the App to a Selected Track in Google Play Console

Once deployed, the binary will be available in the related store submission profile. Note that the profile name and icon is automatically fetched from the latest binary.

There are three actions available for each version in the version list. The first action displays a screen where you can initiate the store upload. The second action allows you to view the logs of the latest upload of that binary and the third action button allows you to delete that version.

When you press the “Upload to Google Play” button, the Send App screen is displayed. If you don’t have a previously saved key, you will be prompted to upload a Google Play Developer API Key.

If you have saved keys, you can select them from the list. With the next option, select a release track for your app.

When you press the “Send App” button, the binary will be uploaded to the Google Play Console.

 

Uploading the App to App Store Connect

Configuring App Store Connect API Keys and Credentials

To upload an app to TestFlight, you also need to provide either:

or

 

To send apps from Appcircle, you need to provide an App Store Connect API key. To add a key, go to My Organization and press the “Add New” button (or the “Manage” button first if you have saved keys) next to the “App Store Connect API Keys” item under the Connections section. The add key screen will be displayed.

Create an API key in App Store Connect and upload it here for API authentication. Please keep this file as it is the only copy and it will be required during every store submission for security purposes. With the next option, enter the key ID and the issuer ID that can be obtained from the keys section in App Store Connect.

Then enter a user-friendly name to identify the key in the lists and press save. You can use this key in multiple apps without the need for key uploads at every upload process.

 

You can alternatively provide an Apple Developer ID to send apps from Appcircle, To add a new Apple ID, go to My Organization and press the “Add New” button (or the “Manage” button first if you have saved keys) next to the “Apple Developer IDs” item under the Connections section. The add key screen will be displayed.

Create an app-specific password on the Apple ID account page and enter it here along with the Apple ID email for authentication. With the next option, enter the application Apple ID that can be obtained from the App Information section in App Store Connect.

Then enter a user-friendly name to identify the credentials in the lists and press save. You can use this Apple ID in multiple apps without the need for reentering the credentials at every upload process.

Sending the App to App Store Connect for TestFlight and for Store Submission

Once deployed, the binary will be available in the related store submission profile. Note that the profile name and icon is automatically fetched from the latest binary.

There are three actions available for each version in the version list. The first action displays a screen where you can initiate the store upload to the specified destination. The second action allows you to view the logs of the latest upload of that binary and the third action allows you to delete that version.

When you press the “Upload to App Store Connect” button, you will be prompted to select an authentication method: with an App Store Connect API Key or with an Apple Developer ID using an app-specific password.

When you select an option, if you don’t have a previously saved API key or Apple ID, you will be prompted to add one. If you have saved keys or IDs, you can select them from the list.

When you press the “Send App” button, the binary will be uploaded to App Store Connect.

 

With Appcircle, you can automate the full lifecycle of your mobile app with continuous integration, continuous delivery, and continuous testing.


Share this post!