Udostępnij za pośrednictwem


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.

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