AppCenterDistribute@3 — Zadanie dystrybucji usługi App Center w wersji 3
To zadanie służy do dystrybuowania kompilacji aplikacji do testerów i użytkowników za pośrednictwem programu Visual Studio App Center.
Składnia
# 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.
Dane wejściowe
połączenia usługi serverEndpoint
- App Center
string
. To jest wymagane.
Wybiera połączenie usługi dla programu Visual Studio App Center. Aby go utworzyć, kliknij link Manage
i utwórz nowe połączenie usługi.
appSlug
-
App slug
string
. To jest wymagane.
Slug aplikacji jest w formacie {username}/{app_identifier}
. Aby zlokalizować {username}
i {app_identifier}
dla aplikacji, kliknij jej nazwę z App Center, a wynikowy adres URL ma format https://appcenter.ms/users/**{username}**/apps/**{app_identifier}**
. Jeśli używasz organizacji, slug aplikacji jest w formacie {orgname}/{app_identifier}
.
appFile
-
ścieżka pliku binarnego
Alias wejściowy: app
.
string
. To jest wymagane.
Ścieżka względna z katalogu głównego repozytorium do pliku APK/AAB lub IPA, który chcesz opublikować.
buildVersion
-
wersja kompilacji
string
.
Wersja kompilacji pliku binarnego przekazywania, która musi zostać określona dla .zip
i .msi
. Ta wartość zostanie zignorowana, chyba że platforma jest WPF lub WinForms.
typ symboli symbolsOption
-
Alias wejściowy: symbolsType
.
string
. Dozwolone wartości: Apple
, Android
, UWP
. Wartość domyślna: Apple
.
Zawiera pliki symboli do odbierania symbolicznych śladów stosu w diagnostyce centrum aplikacji.
ścieżka symboli symbolsPath
-
string
. Opcjonalny. Użyj polecenia , gdy symbolsType == AndroidNative || symbolsType = Windows
.
Ścieżka względna z katalogu głównego repozytorium do folderu symboli.
appxsymPath
-
ścieżka symboli (*.appxsym)
string
. Opcjonalny. Użyj polecenia , gdy symbolsType = UWP
.
Ścieżka względna do pliku symboli APPXSYM. Ścieżka może zawierać symbole wieloznaczne .
ścieżki symbolsDsymFiles
- dSYM
Alias wejściowy: dsymPath
.
string
. Opcjonalny. Użyj polecenia , gdy symbolsType = Apple
.
Ścieżka względna z katalogu głównego repozytorium do folderu dSYM. Ścieżka może zawierać symbole wieloznaczne .
plik mapowania symbolsMappingTxtFile
-
Alias wejściowy: mappingTxtPath
.
string
. Opcjonalny. Użyj polecenia , gdy symbolsType = Android
.
Ścieżka względna z katalogu głównego repozytorium do pliku mapping.txt
systemu Android.
nativeLibrariesPath
-
ścieżka pliku biblioteki natywnej
string
. Opcjonalny. Użyj polecenia , gdy symbolsType == Android
.
Ścieżka względna z katalogu głównego repozytorium do dodatkowych bibliotek natywnych, które chcesz opublikować (np. pliki .so).
symbolsIncludeParentDirectory
-
uwzględnij wszystkie elementy w folderze nadrzędnym
Alias wejściowy: packParentFolder
.
boolean
. Opcjonalny. Użyj polecenia , gdy symbolsType = Apple
.
Przekazuje wybrany plik lub folder symboli oraz wszystkie inne elementy w tym samym folderze nadrzędnym. Jest to wymagane w przypadku aplikacji react native.
releaseNotesOption
-
Tworzenie informacji o wersji
Alias wejściowy: releaseNotesSelection
.
string
. To jest wymagane. Dozwolone wartości: input
(wprowadź informacje o wersji), file
(wybierz pozycję Plik informacji o wersji). Wartość domyślna: input
.
Informacje o wersji zostaną dołączone do wersji i wyświetlone testerom na stronie instalacji.
informacje o wersji releaseNotesInput
-
string
. Wymagane, gdy releaseNotesSelection = input
.
Informacje o wersji dla tej wersji.
pliku informacji o wersji releaseNotesFile
-
string
. Wymagane, gdy releaseNotesSelection = file
.
Wybiera zakodowany w formacie UTF-8 plik tekstowy zawierający informacje o wersji dla tej wersji.
isMandatory
-
Wymagaj od użytkowników aktualizacji do tej wersji
boolean
. Wartość domyślna: false
.
Zestaw SDK dystrybucji centrum aplikacji wymagany do mandatu aktualizacji. Testerzy są automatycznie monitowani o aktualizację.
destinationType
-
miejsca docelowego wydania
string
. To jest wymagane. Dozwolone wartości: groups
, store
. Wartość domyślna: groups
.
Każde wydanie jest dystrybuowane do grup lub magazynu.
distributionGroupId
-
identyfikatory docelowe
Alias wejściowy: destinationGroupIds
.
string
. Opcjonalny. Użyj polecenia , gdy destinationType = groups
.
Identyfikatory grup dystrybucyjnych, które otrzymają wydanie kompilacji. Pozostaw ją pustą, aby użyć grupy domyślnej, i użyj przecinków lub średników, aby oddzielić wiele identyfikatorów.
identyfikatora docelowego destinationStoreId
-
string
. Wymagane, gdy destinationType = store
.
Identyfikatory magazynu dystrybucji, które otrzymają wydanie kompilacji.
isSilent
-
Nie powiadamiaj testerów. Wersja będzie nadal dostępna do zainstalowania.
boolean
. Opcjonalny. Użyj polecenia , gdy destinationType = groups
.
Testerzy nie otrzymują wiadomości e-mail dla nowych wersji.
Opcje sterowania zadaniami
Wszystkie zadania mają opcje sterowania oprócz danych wejściowych zadań podrzędnych. Aby uzyskać więcej informacji, zobacz opcje kontroli i typowe właściwości zadań.
Zmienne wyjściowe
Żaden.
Uwagi
To zadanie służy do dystrybuowania kompilacji aplikacji do testerów i użytkowników za pośrednictwem Centrum aplikacji.
- najpierw utwórz konto w centrum aplikacji.
- Aby uzyskać szczegółowe informacje na temat korzystania z tego zadania, zobacz artykuł z dokumentacją centrum aplikacji Wdrażanie kompilacji usługi Azure DevOps za pomocą centrum aplikacji.
Przykłady
Ten przykładowy potok tworzy aplikację dla systemu Android, uruchamia testy i publikuje aplikację przy użyciu usługi 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'
Wymagania
Wymaganie | Opis |
---|---|
Typy potoków | YAML, klasyczna kompilacja, wersja klasyczna |
Działa na | Agent, DeploymentGroup |
Wymagania | Żaden |
możliwości | To zadanie nie spełnia żadnych wymagań dotyczących kolejnych zadań w zadaniu. |
ograniczenia poleceń | Jakikolwiek |
zmienne ustawiane | Jakikolwiek |
Wersja agenta | 2.206.1 lub nowsza |
Kategoria zadań | Zastosuj |
Wymaganie | Opis |
---|---|
Typy potoków | YAML, klasyczna kompilacja, wersja klasyczna |
Działa na | Agent, DeploymentGroup |
Wymagania | Żaden |
możliwości | To zadanie nie spełnia żadnych wymagań dotyczących kolejnych zadań w zadaniu. |
ograniczenia poleceń | Jakikolwiek |
zmienne ustawiane | Jakikolwiek |
Wersja agenta | 2.144.0 lub nowsza |
Kategoria zadań | Zastosuj |
Wymaganie | Opis |
---|---|
Typy potoków | YAML, klasyczna kompilacja, wersja klasyczna |
Działa na | Agent, DeploymentGroup |
Wymagania | Żaden |
możliwości | To zadanie nie spełnia żadnych wymagań dotyczących kolejnych zadań w zadaniu. |
ograniczenia poleceń | Jakikolwiek |
zmienne ustawiane | Jakikolwiek |
Wersja agenta | Wszystkie obsługiwane wersje agentów. |
Kategoria zadań | Zastosuj |