Udostępnij za pośrednictwem


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.

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