App Center Deployment Template
Use this template to simplify the distribution of Android, iOS and Windows (UWP) applications to testers and users through App Center.
YAML snippet
# App Center Deployment Template
# Template for distributing Android, iOS and Windows apps to testers via App Center
stages:
- template: azure/mobile/deploy-appcenter.yml@builttoroam_templates
parameters:
artifact_folder:
application_package:
appcenter_service_connection:
appcenter_organisation:
appcenter_applicationid:
#stage_name: 'Deploy_App_Center' # Optional
#depends_on: # Optional
#deploy_appcenter_enabled: true # Optional
#environment_name: 'Default Environment' # Optional
#artifact_name: 'drop' # Optional
#appcenter_release_notes: # Optional
#appcenter_release_notes_option: 'input' # Options: input, file
#appcenter_release_notes_file: # Required when appcenter_release_notes_option == Input
#appcenter_release_notes_source: 'artifact' # Options: artifact, source_control
#appcenter_is_mandatory_update: # Required when appcenter_release_notes_option == File
#appcenter_destination_type: 'groups' # Options: groups, store
#appcenter_distribution_group_ids: # Optional
#appcenter_destination_store_id: # Required when appcenter_destination_type == store. The id of the destination store
#appcenter_dont_notify_testers: false # Optional
#secure_file_keystore_filename: # Required if the application package is AAB
#keystore_alias: # Required if the application package is AAB
#keystore_password: # Required if the application package is AAB
#onStart: # Optional
#postArtifactDownload: # Optional
#preAppCenterPublish: # Optional
#onEnd: # Optional
Arguments
Argument | Description |
---|---|
artifact_folder | (Required) The name of the folder to copy application from in the artifact |
application_package | (Required) The name of the application package to deploy |
appcenter_service_connection | (Required) The name of the service connection that connects Azure DevOps to App Center. Go to Service Connections in Azure DevOps to setup the connection and assign permissions for pipelines to access it |
appcenter_organisation | (Required) The organisation (or individual) in App Center that the application is associated with. In AppCenter navigate to the application and extract organisation from URL eg https://appcenter.ms/users/[organisation]/apps/[applicationid] More information at https://docs.microsoft.com/en-us/azure/devops/pipelines/tasks/deploy/app-center-distribute?view=azure-devop |
appcenter_applicationid | (Required) The application id in App Center that identifies the application. In AppCenter navigate to the application and extract application id from URL eg https://appcenter.ms/users/[organisation]/apps/[applicationid] More information at https://docs.microsoft.com/en-us/azure/devops/pipelines/tasks/deploy/app-center-distribute?view=azure-devops |
stage_name | (Optional) The name of the stage, so that it can be referenced elsewhere (eg for dependsOn property) |
depends_on | (Optional) The array of stages that this stage depends on. Default is that this stage does not depend on any other stage. However, since this is a deployment stage, you'll probably want to specify a build stage that this stage depends on |
deploy_appcenter_enabled | (Optional) Whether this stages should be executed. Note that setting this to false won't completely cancel the stage, it will merely skip most of the stages. The stage will appear to complete successfully, so any stages that depend on this stage will attempt to execute |
environment_name | (Optional) The environment to deploy to. Can be used to introduce a manual gate for approval for stage to proceed |
artifact_name | (Optional) The name of the artifact to copy application from |
appcenter_release_notes_option | (Optional) Whether release notes for App Center should be inputted via the appcenter_release_notes parameter or if it should come from a file (appcenter_release_notes_file parameter). More information at https://docs.microsoft.com/en-us/azure/devops/pipelines/tasks/deploy/app-center-distribute?view=azure-devops |
appcenter_release_notes | (Optional) The release notes to be set in App Center for the release. More information at https://docs.microsoft.com/en-us/azure/devops/pipelines/tasks/deploy/app-center-distribute?view=azure-devops |
appcenter_release_notes_file | (Optional) Whether release notes for App Center should be inputted from the source code or from the artifact. Only if appcenter_release_notes_option is file. |
appcenter_release_notes_source | (Optional) The file to read the release notes from to be set in App Center for the release. More information at https://docs.microsoft.com/en-us/azure/devops/pipelines/tasks/deploy/app-center-distribute?view=azure-devops |
appcenter_is_mandatory_update | (Optional) Whether the App Center release should be marked as a mandatory update. More information at https://docs.microsoft.com/en-us/azure/devops/pipelines/tasks/deploy/app-center-distribute?view=azure-devops |
appcenter_destination_type | (Optional) Whether the release is pushed out to a distribution group or a store. More information at https://docs.microsoft.com/en-us/azure/devops/pipelines/tasks/deploy/app-center-distribute?view=azure-devops |
appcenter_distribution_group_ids | (Optional) The id(s) (comma separated list of guids) of the distribution groups to distribute the release to. More information at https://docs.microsoft.com/en-us/azure/devops/pipelines/tasks/deploy/app-center-distribute?view=azure-devops |
appcenter_destination_store_id | (Optional) The id of the destination store. More information at https://docs.microsoft.com/en-us/azure/devops/pipelines/tasks/deploy/app-center-distribute?view=azure-devops |
appcenter_dont_notify_testers | (Optional) Whether testers are notified about an App Center release. More information at https://docs.microsoft.com/en-us/azure/devops/pipelines/tasks/deploy/app-center-distribute?view=azure-devops |
secure_file_keystore_filename | (Optiona) IMPORTANT: This is required if application package is an AAB. The keystore file used to sign the APK when extracte from an AAB. This is the name of the keystore in Secure Files. |
keystore_alias | (Optional) IMPORTANT: This is required if application package is an AAB. The alias of the keystore. |
keystore_password | (Optional) IMPORTANT: This is required if application package is an AAB. The password to access the keystore |
onStart | (Optional) Steps to be executed before stage starts |
postArtifactDownload | (Optional) Steps to be executed after artifacts from previous stages have been downloaded |
preAppCenterPublish | (Optional) Steps to be executed before application package is published to App Center |
onEnd | (Optional) Steps to be executed at the end of the stage |
Open source
This template is open source on GitHub. Feedback and contributions are welcome.