AppCenterDistribute@3 - Tâche de distribution v3 App Center

Utilisez cette tâche pour distribuer des builds d’application aux testeurs et aux utilisateurs via Visual Studio App Center.

Syntax

# App Center distribute v3
# Distribute app builds to testers and users via Visual Studio App Center.
- task: AppCenterDistribute@3
  inputs:
    serverEndpoint: # string. Required. App Center service connection. 
    appSlug: # string. Required. App slug. 
    appFile: # string. Alias: app. Required. Binary file path. 
    #buildVersion: # string. Build version. 
    releaseNotesOption: 'input' # 'input' | 'file'. Alias: releaseNotesSelection. Required. Create release notes. Default: input.
    releaseNotesInput: # string. Required when releaseNotesSelection = input. Release notes. 
    #releaseNotesFile: # string. Required when releaseNotesSelection = file. Release notes file. 
    #isMandatory: false # boolean. Require users to update to this release. Default: false.
    destinationType: 'groups' # 'groups' | 'store'. Required. Release destination. Default: groups.
    #distributionGroupId: # string. Alias: destinationGroupIds. Optional. Use when destinationType = groups. Destination IDs. 
    #destinationStoreId: # string. Required when destinationType = store. Destination ID. 
    #isSilent: # boolean. Optional. Use when destinationType = groups. Do not notify testers. Release will still be available to install. 
  # Symbols
    #symbolsOption: 'Apple' # 'Apple' | 'Android' | 'UWP'. Alias: symbolsType. Symbols type. Default: Apple.
    #symbolsPath: # string. Optional. Use when symbolsType == AndroidNative || symbolsType = Windows. Symbols path. 
    #appxsymPath: # string. Optional. Use when symbolsType = UWP. Symbols path (*.appxsym). 
    #symbolsDsymFiles: # string. Alias: dsymPath. Optional. Use when symbolsType = Apple. dSYM path. 
    #symbolsMappingTxtFile: # string. Alias: mappingTxtPath. Optional. Use when symbolsType = Android. Mapping file. 
    #nativeLibrariesPath: # string. Optional. Use when symbolsType == Android. Native Library File Path. 
    #symbolsIncludeParentDirectory: # boolean. Alias: packParentFolder. Optional. Use when symbolsType = Apple. Include all items in parent folder.
# App Center distribute v3
# Distribute app builds to testers and users via Visual Studio App Center.
- task: AppCenterDistribute@3
  inputs:
    serverEndpoint: # string. Required. App Center service connection. 
    appSlug: # string. Required. App slug. 
    appFile: # string. Alias: app. Required. Binary file path. 
    releaseNotesOption: 'input' # 'input' | 'file'. Alias: releaseNotesSelection. Required. Create release notes. Default: input.
    releaseNotesInput: # string. Required when releaseNotesSelection = input. Release notes. 
    #releaseNotesFile: # string. Required when releaseNotesSelection = file. Release notes file. 
    #isMandatory: false # boolean. Require users to update to this release. Default: false.
    destinationType: 'groups' # 'groups' | 'store'. Required. Release destination. Default: groups.
    #distributionGroupId: # string. Alias: destinationGroupIds. Optional. Use when destinationType = groups. Destination IDs. 
    #destinationStoreId: # string. Required when destinationType = store. Destination ID. 
    #isSilent: # boolean. Optional. Use when destinationType = groups. Do not notify testers. Release will still be available to install. 
  # Symbols
    #symbolsOption: 'Apple' # 'Apple' | 'Android'. Alias: symbolsType. Symbols type. Default: Apple.
    #symbolsPath: # string. Optional. Use when symbolsType == AndroidNative || symbolsType = Windows. Symbols path. 
    #symbolsPdbFiles: '**/*.pdb' # string. Alias: pdbPath. Optional. Use when symbolsType = UWP. Symbols path (*.pdb). Default: **/*.pdb.
    #symbolsDsymFiles: # string. Alias: dsymPath. Optional. Use when symbolsType = Apple. dSYM path. 
    #symbolsMappingTxtFile: # string. Alias: mappingTxtPath. Optional. Use when symbolsType = Android. Mapping file. 
    #symbolsIncludeParentDirectory: # boolean. Alias: packParentFolder. Optional. Use when symbolsType = Apple. Include all items in parent folder.

Entrées

serverEndpoint - Connexion au service App Center
string. Obligatoire.

Sélectionne la connexion de service pour Visual Studio App Center. Pour en créer un, cliquez sur le Manage lien et créez une connexion de service.


appSlug - Limace d’application
string. Obligatoire.

La limace d’application est au format de {username}/{app_identifier}. Pour rechercher {username} et {app_identifier} pour une application, cliquez sur son nom à partir d’App Center, et l’URL résultante est au format .https://appcenter.ms/users/**{username}**/apps/**{app_identifier}** Si vous utilisez des organisations, l’application slug est au format {orgname}/{app_identifier}.


appFile - Chemin d’accès au fichier binaire
Alias d’entrée : app. string. Obligatoire.

Chemin d’accès relatif de la racine du référentiel au fichier APK/AAB ou IPA que vous souhaitez publier.


buildVersion - Version de build
string.

Version de build du binaire de chargement qui doit être spécifiée pour .zip et .msi. Cette valeur sera ignorée, sauf si la plateforme est WPF ou WinForms.


symbolsOption - Type de symboles
Alias d’entrée : symbolsType. string. Valeurs autorisées : Apple, Android, UWP. Valeur par défaut : Apple.

Inclut des fichiers de symboles pour recevoir des traces de pile symboliques dans les diagnostics App Center.


symbolsOption - Type de symboles
Alias d’entrée : symbolsType. string. Valeurs autorisées : Apple, Android. Valeur par défaut : Apple.

Inclut des fichiers de symboles pour recevoir des traces de pile symboliques dans les diagnostics App Center.


symbolsPath - Chemin des symboles
string. facultatif. Utilisez quand symbolsType == AndroidNative || symbolsType = Windows.

Chemin d’accès relatif de la racine du référentiel au dossier symboles.


appxsymPath - Chemin des symboles (*.appxsym)
string. facultatif. Utilisez quand symbolsType = UWP.

Chemin d’accès relatif au fichier de symboles APPXSYM. Le chemin d’accès peut contenir des caractères génériques.


symbolsDsymFiles - Chemin d’accès dSYM
Alias d’entrée : dsymPath. string. facultatif. Utilisez quand symbolsType = Apple.

Chemin d’accès relatif de la racine du référentiel au dossier dSYM. Le chemin d’accès peut contenir des caractères génériques.


symbolsMappingTxtFile - Fichier de mappage
Alias d’entrée : mappingTxtPath. string. facultatif. Utilisez quand symbolsType = Android.

Chemin d’accès relatif de la racine du référentiel au fichier Android mapping.txt .


nativeLibrariesPath - Chemin du fichier de bibliothèque native
string. facultatif. Utilisez quand symbolsType == Android.

Chemin relatif de la racine du référentiel aux bibliothèques natives supplémentaires que vous souhaitez publier (par exemple, les fichiers .so).


symbolsIncludeParentDirectory - Inclure tous les éléments dans le dossier parent
Alias d’entrée : packParentFolder. boolean. facultatif. Utilisez quand symbolsType = Apple.

Charge le fichier ou dossier de symboles sélectionnés et tous les autres éléments à l’intérieur du même dossier parent. Cela est nécessaire pour les applications React Native.


releaseNotesOption - Créer des notes de publication
Alias d’entrée : releaseNotesSelection. string. Obligatoire. Valeurs autorisées : input (Entrez les notes de publication), file (sélectionnez Fichier de notes de publication). Valeur par défaut : input.

Les notes de publication seront jointes à la version et affichées aux testeurs sur la page d’installation.


releaseNotesInput - Notes de publication
string. Nécessaire lorsque releaseNotesSelection = input.

Notes de publication de cette version.


releaseNotesFile - Fichier de notes de publication
string. Nécessaire lorsque releaseNotesSelection = file.

Sélectionne un fichier texte encodé UTF-8 qui contient les notes de publication de cette version.


isMandatory - Exiger que les utilisateurs mettent à jour vers cette version
boolean. Valeur par défaut : false.

Le Kit de développement logiciel (SDK) De distribution App Center est requis pour imposer une mise à jour. Les testeurs sont automatiquement invités à mettre à jour.


destinationType - Destination de mise en production
string. Obligatoire. Valeurs autorisées : groups, store. Valeur par défaut : groups.

Chaque version est distribuée à des groupes ou à un magasin.


distributionGroupId - ID de destination
Alias d’entrée : destinationGroupIds. string. facultatif. Utilisez quand destinationType = groups.

ID des groupes de distribution qui recevront la version de build. Laissez le groupe par défaut vide et utilisez des virgules ou des points-virgules pour séparer plusieurs ID.


destinationStoreId - Destination ID
string. Nécessaire lorsque destinationType = store.

ID du magasin de distribution qui recevra la version de build.


isSilent - N’informez pas les testeurs. La version sera toujours disponible pour l’installation.
boolean. facultatif. Utilisez quand destinationType = groups.

Les testeurs ne reçoivent pas d’e-mail pour les nouvelles versions.


symbolsPdbFiles - Chemin des symboles (*.pdb)
Alias d’entrée : pdbPath. string. facultatif. Utilisez quand symbolsType = UWP. Valeur par défaut : **/*.pdb.

Chemin relatif de la racine du référentiel vers les fichiers de symboles PDB. Le chemin d’accès peut contenir des caractères génériques.


Options de contrôle de la tâche

Toutes les tâches ont des options de contrôle en plus de leurs entrées de tâches. Pour plus d’informations, consultez Options de contrôle et propriétés de tâche courantes.

Variables de sortie

Aucun.

Notes

Utilisez cette tâche pour distribuer les builds d’applications aux testeurs et aux utilisateurs via App Center.

Exemples

Cet exemple de pipeline génère une application Android, exécute des tests et publie l’application à l’aide d’App Center Distribute.

# Android
# Build your Android project with Gradle.
# Add steps that test, sign, and distribute the APK, save build artifacts, and more:
# https://learn.microsoft.com/azure/devops/pipelines/ecosystems/android

pool:
  vmImage: 'macOS-latest'
steps:

- script: sudo npm install -g appcenter-cli
- script: appcenter login --token {YOUR_TOKEN}

- task: Gradle@2
  inputs:
    workingDirectory: ''
    gradleWrapperFile: 'gradlew'
    gradleOptions: '-Xmx3072m'
    publishJUnitResults: false
    testResultsFiles: '**/TEST-*.xml'
    tasks: build

- task: CopyFiles@2
  inputs:
    contents: '**/*.apk'
    targetFolder: '$(build.artifactStagingDirectory)'

- task: PublishBuildArtifacts@1
  inputs:
    pathToPublish: '$(build.artifactStagingDirectory)'
    artifactName: 'outputs'
    artifactType: 'container'

# Run tests using the App Center CLI
- script: appcenter test run espresso --app "{APP_CENTER_SLUG}" --devices "{DEVICE}" --app-path {APP_FILE} --test-series "master" --locale "en_US" --build-dir {PAT_ESPRESSO} --debug

# Distribute the app
- task: AppCenterDistribute@3
  inputs:
    serverEndpoint: 'AppCenter'
    appSlug: '$(APP_CENTER_SLUG)'
    appFile: '$(APP_FILE)' # Relative path from the repo root to the APK or IPA file you want to publish
    symbolsOption: 'Android'
    releaseNotesOption: 'input'
    releaseNotesInput: 'Here are the release notes for this version.'
    destinationType: 'groups'

Configuration requise

Condition requise Description
Types de pipelines YAML, build classique, version classique
S’exécute sur Agent, DeploymentGroup
Demandes None
Capabilities Cette tâche ne répond à aucune demande pour les tâches suivantes dans le travail.
Restrictions de commandes Quelconque
Variables settables Quelconque
Version de l’agent 2.206.1 ou version ultérieure
Catégorie de la tâche Déployer
Condition requise Description
Types de pipelines YAML, build classique, version classique
S’exécute sur Agent, DeploymentGroup
Demandes None
Capabilities Cette tâche ne répond à aucune demande pour les tâches suivantes dans le travail.
Restrictions de commandes Quelconque
Variables settables Quelconque
Version de l’agent 2.144.0 ou version ultérieure
Catégorie de la tâche Déployer
Condition requise Description
Types de pipelines YAML, build classique, version classique
S’exécute sur Agent, DeploymentGroup
Demandes None
Capabilities Cette tâche ne répond à aucune demande pour les tâches suivantes dans le travail.
Restrictions de commandes Quelconque
Variables settables Quelconque
Version de l’agent Toutes les versions d’agent prises en charge.
Catégorie de la tâche Déployer