View on GitHub

pipeline_templates

Templates for use in build and release pipelines

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

ArgumentDescription
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.