AppCenterDistribute@3 – App Center v3-Aufgabe verteilen
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.
Eingänge
serverEndpoint
-
App Center-Dienstverbindung
string
. Erforderlich.
Wählt die Dienstverbindung für Visual Studio App Center aus. Wenn Sie einen erstellen möchten, klicken Sie auf den link Manage
, und erstellen Sie eine neue Dienstverbindung.
appSlug
-
App-
string
. Erforderlich.
Die App-Slug befindet sich im Format {username}/{app_identifier}
. Wenn Sie {username}
und {app_identifier}
für eine App suchen möchten, klicken Sie in App Center-auf den Namen, und die resultierende URL befindet sich im Format https://appcenter.ms/users/**{username}**/apps/**{app_identifier}**
. Wenn Sie Organisationen verwenden, ist die 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 Upload-Binärdatei, die für .zip
und .msi
angegeben 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
, UWP
. Standardwert: Apple
.
Enthält Symboldateien zum Empfangen symbolischer Stapelablaufverfolgungen in der App Center-Diagnose.
symbolsPath
-
Symbolpfad
string
. Wahlfrei. Wird verwendet, wenn symbolsType == AndroidNative || symbolsType = Windows
.
Der relative Pfad vom Repositorystamm zum Symbolordner.
appxsymPath
-
Symbolpfad (*.appxsym)
string
. Wahlfrei. Wird verwendet, wenn symbolsType = UWP
.
Der relative Pfad zur APPXSYM-Symboldatei. Pfad kann Wildcardsenthalten.
symbolsDsymFiles
-
dSYM-Pfad-
Eingabealias: dsymPath
.
string
. Wahlfrei. Wird verwendet, wenn symbolsType = Apple
.
Der relative Pfad vom Repositorystamm zum dSYM-Ordner. Pfad kann Wildcardsenthalten.
symbolsMappingTxtFile
-
Zuordnungsdatei
Eingabealias: mappingTxtPath
.
string
. Wahlfrei. Wird verwendet, wenn symbolsType = Android
.
Der relative Pfad vom Repositorystamm zur mapping.txt
-Datei von Android.
nativeLibrariesPath
-
nativen Bibliotheksdateipfad
string
. Wahlfrei. Wird verwendet, wenn symbolsType == Android
.
Der relative Pfad vom Repositorystamm zu den zusätzlichen nativen Bibliotheken, die Sie veröffentlichen möchten (z. B. DATEIEN).
symbolsIncludeParentDirectory
-
Alle Elemente im übergeordneten Ordner einschließen
Eingabealias: packParentFolder
.
boolean
. Wahlfrei. Wird verwendet, wenn symbolsType = Apple
.
Lädt die ausgewählte Symboldatei oder den ausgewählten Ordner und alle anderen Elemente innerhalb desselben übergeordneten Ordners hoch. Dies ist für React Native-Apps erforderlich.
releaseNotesOption
-
Erstellen von Versionshinweisen
Eingabealias: releaseNotesSelection
.
string
. Erforderlich. Zulässige Werte: input
(Versionshinweise eingeben), file
(Versionshinweise auswählen). Standardwert: input
.
Die Versionshinweise werden an die Version angefügt und den Testern auf der Installationsseite angezeigt.
releaseNotesInput
-
Versionshinweise
string
. Erforderlich, wenn releaseNotesSelection = input
.
Die Versionshinweise für diese Version.
releaseNotesFile
-
Versionshinweisedatei
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 diese Version aktualisieren
boolean
. Standardwert: false
.
Das App Center Distribute SDK, das zum Auftragen eines Updates erforderlich ist. Tester werden automatisch aufgefordert, die Aktualisierung auszuführen.
destinationType
-
Releaseziel-
string
. Erforderlich. Zulässige Werte: groups
, store
. Standardwert: groups
.
Jede Version wird entweder an Gruppen oder an einen Speicher verteilt.
distributionGroupId
-
Ziel-IDs
Eingabealias: destinationGroupIds
.
string
. Wahlfrei. Wird verwendet, wenn destinationType = groups
.
Die IDs der Verteilergruppen, die die Buildversion 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, die die Buildversion erhalten.
isSilent
-
Tester nicht benachrichtigen. Release steht weiterhin zur Installation zur Verfügung.
boolean
. Wahlfrei. Wird verwendet, wenn destinationType = groups
.
Tester erhalten keine E-Mail für neue Versionen.
Aufgabensteuerungsoptionen
Alle Aufgaben verfügen zusätzlich zu ihren Aufgabeneingaben über Steuerungsoptionen. Weitere Informationen finden Sie unter Steuerelementoptionen und allgemeinen Aufgabeneigenschaften.
Ausgabevariablen
Keiner.
Bemerkungen
Verwenden Sie diese Aufgabe, um App-Builds über Das App Center an Tester und Benutzer zu verteilen.
- Registrieren Sie sich zuerst beim App Center.
- Ausführliche Informationen zur Verwendung dieser Aufgabe finden Sie im Dokumentationsartikel zum App Center Bereitstellen von Azure DevOps-Builds mit 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, Classic Build, Classic Release |
Läuft auf | Agent, DeploymentGroup |
Anforderungen | Nichts |
Funktionen | Dieser Vorgang erfüllt keine Anforderungen für nachfolgende Vorgänge im Auftrag. |
Befehlseinschränkungen | Jegliche |
Settable-Variablen | Jegliche |
Agentversion | 2.206.1 oder höher |
Vorgangskategorie | Einsetzen |
Anforderung | BESCHREIBUNG |
---|---|
Pipelinetypen | YAML, Classic Build, Classic Release |
Läuft auf | Agent, DeploymentGroup |
Anforderungen | Nichts |
Funktionen | Dieser Vorgang erfüllt keine Anforderungen für nachfolgende Vorgänge im Auftrag. |
Befehlseinschränkungen | Jegliche |
Settable-Variablen | Jegliche |
Agentversion | 2.144.0 oder höher |
Vorgangskategorie | Einsetzen |
Anforderung | BESCHREIBUNG |
---|---|
Pipelinetypen | YAML, Classic Build, Classic Release |
Läuft auf | Agent, DeploymentGroup |
Anforderungen | Nichts |
Funktionen | Dieser Vorgang erfüllt keine Anforderungen für nachfolgende Vorgänge im Auftrag. |
Befehlseinschränkungen | Jegliche |
Settable-Variablen | Jegliche |
Agentversion | Alle unterstützten Agentversionen. |
Vorgangskategorie | Einsetzen |