Freigeben über


AppCenterDistribute@3 : App Center-Aufgabe verteilen v3

Verwenden Sie diese Aufgabe, um App-Builds über Visual Studio App Center an Tester und Benutzer zu verteilen.

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.

Eingaben

serverEndpoint - App Center Service-Verbindung
string. Erforderlich.

Wählt die Dienstverbindung für Visual Studio App Center aus. Um einen zu erstellen, klicken Sie auf den Manage Link, und erstellen Sie eine neue Dienstverbindung.


appSlug - App-Slug
string. Erforderlich.

Der App-Slug hat das Format von {username}/{app_identifier}. Um nach und {app_identifier} für eine App zu suchen{username}, klicken Sie im App Center auf ihren Namen, und die resultierende URL hat das Format .https://appcenter.ms/users/**{username}**/apps/**{app_identifier}** Wenn Sie Organisationen verwenden, hat der App-Slug das Format {orgname}/{app_identifier}.


appFile - Binärdateipfad
Eingabealias: app. string. Erforderlich.

Der relative Pfad vom Repositorystamm zur APK/AAB- oder IPA-Datei, die Sie veröffentlichen möchten.


buildVersion - Buildversion
string.

Die Buildversion der hochzuladenden Binärdatei, die für .zip und .msiangegeben werden muss. Dieser Wert wird ignoriert, es sei denn, die Plattform ist WPF oder WinForms.


symbolsOption - Symboltyp
Eingabealias: symbolsType. string. Zulässige Werte: Apple, Android und UWP. Standardwert. Apple.

Enthält Symboldateien zum Empfangen symbolischer Stapelablaufverfolgungen in App Center Diagnostics.


symbolsOption - Symboltyp
Eingabealias: symbolsType. string. Zulässige Werte: Apple, Android. Standardwert. Apple.

Enthält Symboldateien zum Empfangen symbolischer Stapelablaufverfolgungen in App Center Diagnostics.


symbolsPath - Symbolpfad
string. Optional. Verwenden Sie , wenn symbolsType == AndroidNative || symbolsType = Windows.

Der relative Pfad vom Repositorystamm zum Symbolordner.


appxsymPath - Symbolpfad (*.appxsym)
string. Optional. Verwenden Sie , wenn symbolsType = UWP.

Der relative Pfad zur APPXSYM-Symboldatei. Pfad kann Wildcards enthalten.


symbolsDsymFiles - dSYM-Pfad
Eingabealias: dsymPath. string. Optional. Verwenden Sie , wenn symbolsType = Apple.

Der relative Pfad vom Repositorystamm zum Ordner dSYM. Pfad kann Wildcards enthalten.


symbolsMappingTxtFile - Zuordnungsdatei
Eingabealias: mappingTxtPath. string. Optional. Verwenden Sie , wenn symbolsType = Android.

Der relative Pfad vom Repositorystamm zur Android-Datei mapping.txt .


nativeLibrariesPath - Dateipfad der nativen Bibliothek
string. Optional. Verwenden Sie , wenn symbolsType == Android.

Der relative Pfad vom Repositorystamm zu den zusätzlichen nativen Bibliotheken, die Sie veröffentlichen möchten (z. B. SO-Dateien).


symbolsIncludeParentDirectory - Alle Elemente in übergeordneten Ordner einschließen
Eingabealias: packParentFolder. boolean. Optional. Verwenden Sie , wenn symbolsType = Apple.

Lädt die ausgewählte Symboldatei oder den ausgewählten Ordner und alle anderen Elemente in denselben übergeordneten Ordner hoch. Dies ist für React Native-Apps erforderlich.


releaseNotesOption - Erstellen von Versionshinweisen
Eingabealias: releaseNotesSelection. string. Erforderlich. Zulässige Werte: input (Geben Sie Versionshinweise ein), file (Wählen Sie Versionshinweisedatei aus). Standardwert. input.

Die Versionshinweise werden dem Release angefügt und testern auf der Installationsseite angezeigt.


releaseNotesInput - Versionshinweise
string. Erforderlich, wenn releaseNotesSelection = input.

Die Versionshinweise für diese Version.


releaseNotesFile - Datei mit Versionshinweisen
string. Erforderlich, wenn releaseNotesSelection = file.

Wählt eine UTF-8-codierte Textdatei aus, die die Versionshinweise für diese Version enthält.


isMandatory - Benutzer müssen auf dieses Release aktualisieren
boolean. Standardwert. false.

Das App Center Distributed SDK ist erforderlich, um eine Aktualisierung zu erfordern. Tester werden automatisch zur Aktualisierung aufgefordert.


destinationType - Releaseziel
string. Erforderlich. Zulässige Werte: groups, store. Standardwert. groups.

Jede Version wird an Gruppen oder einen Speicher verteilt.


distributionGroupId - Ziel-IDs
Eingabealias: destinationGroupIds. string. Optional. Verwenden Sie , wenn destinationType = groups.

Die IDs der Verteilergruppen, die das Buildrelease erhalten. Lassen Sie sie leer, um die Standardgruppe zu verwenden, und verwenden Sie Kommas oder Semikolons, um mehrere IDs zu trennen.


destinationStoreId - Ziel-ID
string. Erforderlich, wenn destinationType = store.

Die IDs des Verteilungsspeichers, der die Buildversion erhält.


isSilent - Benachrichtigen Sie Tester nicht. Release kann weiterhin installiert werden.
boolean. Optional. Verwenden Sie , wenn destinationType = groups.

Tester erhalten keine E-Mail für neue Releases.


symbolsPdbFiles - Symbolpfad (*.pdb)
Eingabealias: pdbPath. string. Optional. Verwenden Sie , wenn symbolsType = UWP. Standardwert. **/*.pdb.

Der relative Pfad vom Repositorystamm zu PDB-Symboldateien. Pfad kann Wildcards enthalten.


Optionen für die Vorgangskontrolle

Alle Vorgänge verfügen zusätzlich zu ihren Eingaben über Steuerungsoptionen. Weitere Informationen finden Sie unter Steuerungsoptionen und allgemeine Aufgabeneigenschaften.

Ausgabevariablen

Keine.

Hinweise

Bei dieser Aufgabe verteilen Sie App-Builds an Tester*innen und Benutzer*innen über App Center.

Beispiele

Diese Beispielpipeline erstellt eine Android-App, führt Tests aus und veröffentlicht die App mit 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'

Anforderungen

Anforderung BESCHREIBUNG
Pipelinetypen YAML, Klassischer Build, klassisches Release
Wird ausgeführt auf Agent, DeploymentGroup
Forderungen Keine
Capabilities Diese Aufgabe erfüllt keine Anforderungen an nachfolgende Aufgaben im Auftrag.
Befehlseinschränkungen Any
Setzbare Variablen Any
Agent-Version 2.206.1 oder höher
Aufgabenkategorie Bereitstellen
Anforderung BESCHREIBUNG
Pipelinetypen YAML, Klassischer Build, klassisches Release
Wird ausgeführt auf Agent, DeploymentGroup
Forderungen Keine
Capabilities Diese Aufgabe erfüllt keine Anforderungen an nachfolgende Aufgaben im Auftrag.
Befehlseinschränkungen Any
Setzbare Variablen Any
Agent-Version 2.144.0 oder höher
Aufgabenkategorie Bereitstellen
Anforderung BESCHREIBUNG
Pipelinetypen YAML, Klassischer Build, klassisches Release
Wird ausgeführt auf Agent, DeploymentGroup
Forderungen Keine
Capabilities Diese Aufgabe erfüllt keine Anforderungen an nachfolgende Aufgaben im Auftrag.
Befehlseinschränkungen Any
Setzbare Variablen Any
Agent-Version Alle unterstützten Agent-Versionen.
Aufgabenkategorie Bereitstellen