AppCenterDistribute@3 — zadanie dystrybucji w usłudze 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.
# 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.
Dane wejściowe
serverEndpoint
- Połączenie usługi App Center
string
. Wymagane.
Wybiera połączenie usługi dla programu Visual Studio App Center. Aby go utworzyć, kliknij Manage
link i utwórz nowe połączenie z usługą.
appSlug
- Slug aplikacji
string
. Wymagane.
Slug aplikacji ma format {username}/{app_identifier}
. Aby zlokalizować {username}
i {app_identifier}
dla aplikacji, kliknij jej nazwę w Centrum aplikacji, a wynikowy adres URL ma format https://appcenter.ms/users/**{username}**/apps/**{app_identifier}**
. Jeśli używasz organizacji, slug aplikacji ma format {orgname}/{app_identifier}
.
appFile
- Ścieżka pliku binarnego
Alias wejściowy: app
. string
. 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 przekazywania pliku binarnego, która musi być określona dla .zip
elementów i .msi
. Ta wartość zostanie zignorowana, chyba że platforma jest WPF lub WinForms.
symbolsOption
- Typ symboli
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.
symbolsOption
- Typ symboli
Alias wejściowy: symbolsType
. string
. Dozwolone wartości: Apple
, Android
. Wartość domyślna: Apple
.
Zawiera pliki symboli do odbierania symbolicznych śladów stosu w diagnostyce centrum aplikacji.
symbolsPath
- Ścieżka symboli
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.
symbolsDsymFiles
- ścieżka 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.
symbolsMappingTxtFile
- Plik mapowania
Alias wejściowy: mappingTxtPath
. string
. Opcjonalny. Użyj polecenia , gdy symbolsType = Android
.
Ścieżka względna z katalogu głównego repozytorium do pliku systemu Android mapping.txt
.
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 zaznaczony 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
. 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.
releaseNotesInput
- Wersji
string
. Wymagane, gdy releaseNotesSelection = input
.
Informacje o wersji dla tej wersji.
releaseNotesFile
- Plik informacji o wersji
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 usługi App Center wymagany do wymuszeniu aktualizacji. Testerzy są automatycznie monitowani o aktualizację.
destinationType
- Miejsce docelowe wydania
string
. Wymagane. Dozwolone wartości: groups
, store
. Wartość domyślna: groups
.
Każde wydanie jest dystrybuowane do grup lub magazynu.
distributionGroupId
- Identyfikatory miejsc docelowych
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.
destinationStoreId
- Identyfikator miejsca docelowego
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 o nowych wydaniach.
symbolsPdbFiles
- Ścieżka symboli (*.pdb)
Alias wejściowy: pdbPath
. string
. Opcjonalny. Użyj polecenia , gdy symbolsType = UWP
. Wartość domyślna: **/*.pdb
.
Ścieżka względna z katalogu głównego repozytorium do plików symboli PDB. Ścieżka może zawierać symbole wieloznaczne.
Opcje sterowania zadania
Wszystkie zadania mają opcje sterowania oprócz danych wejściowych zadań. Aby uzyskać więcej informacji, zobacz Opcje sterowania i typowe właściwości zadań.
Zmienne wyjściowe
Brak.
Uwagi
To zadanie służy do dystrybuowania kompilacji aplikacji do testerów i użytkowników za pośrednictwem Centrum aplikacji.
- Najpierw zarejestruj się w usłudze App Center .
- Aby uzyskać szczegółowe informacje na temat korzystania z tego zadania, zobacz artykuł App Center documentation deploy Azure DevOps Builds with App Center (Wdrażanie kompilacji usługi Azure DevOps za pomocą usługi App Center).
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, kompilacja klasyczna, wersja klasyczna |
Działa na | Agent, DeploymentGroup |
Wymagania | Brak |
Możliwości | To zadanie nie spełnia żadnych wymagań dotyczących kolejnych zadań w zadaniu. |
Ograniczenia poleceń | Dowolne |
Zmienne w formie tabeli settable | Dowolne |
Wersja agenta | 2.206.1 lub nowsza |
Kategoria zadania | Wdróż |
Wymaganie | Opis |
---|---|
Typy potoków | YAML, kompilacja klasyczna, wersja klasyczna |
Działa na | Agent, DeploymentGroup |
Wymagania | Brak |
Możliwości | To zadanie nie spełnia żadnych wymagań dotyczących kolejnych zadań w zadaniu. |
Ograniczenia poleceń | Dowolne |
Zmienne w formie tabeli settable | Dowolne |
Wersja agenta | 2.144.0 lub nowsza |
Kategoria zadania | Wdróż |
Wymaganie | Opis |
---|---|
Typy potoków | YAML, kompilacja klasyczna, wersja klasyczna |
Działa na | Agent, DeploymentGroup |
Wymagania | Brak |
Możliwości | To zadanie nie spełnia żadnych wymagań dotyczących kolejnych zadań w zadaniu. |
Ograniczenia poleceń | Dowolne |
Zmienne w formie tabeli settable | Dowolne |
Wersja agenta | Wszystkie obsługiwane wersje agentów. |
Kategoria zadania | Wdrażanie |