Поделиться через


AppCenterDistribute@3 — задача "Распространение" в Центре приложений версии 3

Используйте эту задачу для распространения сборок приложений среди тестировщиков и пользователей через Центр приложений Visual Studio.

Синтаксис

# 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.

Входные данные

serverEndpoint - Подключение к службе Центра приложений
string. Обязательный.

Выбирает подключение службы для Центра приложений Visual Studio. Чтобы создать ее, щелкните ссылку Manage и создайте подключение к службе.


appSlug - Приложение slug
string. Обязательный.

Приложение slug имеет формат {username}/{app_identifier}. Чтобы найти {username} и {app_identifier} для приложения, щелкните его имя в Центре приложений, и полученный URL-адрес будет в формате https://appcenter.ms/users/**{username}**/apps/**{app_identifier}**. Если вы используете организации, приложение slug имеет формат {orgname}/{app_identifier}.


appFile - Путь к двоичному файлу
Входной псевдоним: app. string. Обязательный.

Относительный путь от корня репозитория к файлу APK/AAB или IPA, который вы хотите опубликовать.


buildVersion - Версия сборки
string.

Версия сборки передаваемого двоичного файла, который необходимо указать для .zip и .msi. Это значение будет игнорироваться, если платформой не является WPF или WinForms.


symbolsOption - Тип символов
Входной псевдоним: symbolsType. string. Допустимые значения: Apple, Android, UWP. Значение по умолчанию: Apple.

Включает файлы символов для получения символьных трассировок стека в диагностике Центра приложений.


symbolsOption - Тип символов
Входной псевдоним: symbolsType. string. Допустимые значения: Apple, Android. Значение по умолчанию: Apple.

Включает файлы символов для получения символьных трассировок стека в диагностике Центра приложений.


symbolsPath - Путь к символам
string. Необязательный элемент. Используйте при symbolsType == AndroidNative || symbolsType = Windows.

Относительный путь от корневого каталога репозитория к папке symbols.


appxsymPath - Путь к символам (*.appxsym)
string. Необязательный элемент. Используйте при symbolsType = UWP.

Относительный путь к файлу символов APPXSYM. Путь может содержать подстановочные знаки.


symbolsDsymFiles - Путь dSYM
Входной псевдоним: dsymPath. string. Необязательный элемент. Используйте при symbolsType = Apple.

Относительный путь из корневого каталога репозитория в папку dSYM. Путь может содержать подстановочные знаки.


symbolsMappingTxtFile - Файл сопоставления
Входной псевдоним: mappingTxtPath. string. Необязательный элемент. Используйте при symbolsType = Android.

Относительный путь от корневого каталога репозитория к файлу mapping.txt Android.


nativeLibrariesPath - Путь к файлу собственной библиотеки
string. Необязательный элемент. Используйте при symbolsType == Android.

Относительный путь от корневого каталога репозитория к дополнительным собственным библиотекам, которые вы хотите опубликовать (например, SO-файлы).


symbolsIncludeParentDirectory - Включение всех элементов в родительскую папку
Входной псевдоним: packParentFolder. boolean. Необязательный элемент. Используйте при symbolsType = Apple.

Передает выбранный файл символов или папку и все остальные элементы в той же родительской папке. Это необходимо для React Native приложений.


releaseNotesOption - Создание заметок о выпуске
Входной псевдоним: releaseNotesSelection. string. Обязательный. Допустимые значения: input (Введите заметки о выпуске), file (выберите Файл заметок о выпуске). Значение по умолчанию: input.

Заметки о выпуске будут прикреплены к выпуску и показаны тестировщикам на странице установки.


releaseNotesInput - Заметки о выпуске
string. Требуется, если releaseNotesSelection = input.

Заметки о выпуске для этой версии.


releaseNotesFile - Файл заметок о выпуске
string. Требуется, если releaseNotesSelection = file.

Выбирает текстовый файл в кодировке UTF-8, содержащий заметки о выпуске для этой версии.


isMandatory - Требовать от пользователей обновления до этого выпуска
boolean. Значение по умолчанию: false.

Пакет SDK для распространения центра приложений, необходимый для обязательного обновления. Тестировщикам автоматически предлагается обновить.


destinationType - Назначение выпуска
string. Обязательный. Допустимые значения: groups, store. Значение по умолчанию: groups.

Каждый выпуск распространяется в группы или магазин.


distributionGroupId - Идентификаторы назначения
Входной псевдоним: destinationGroupIds. string. Необязательный элемент. Используйте при destinationType = groups.

Идентификаторы групп рассылки, которые получат выпуск сборки. Оставьте поле пустым, чтобы использовать группу по умолчанию, и используйте запятую или точку с запятой для разделения нескольких идентификаторов.


destinationStoreId - Идентификатор назначения
string. Требуется, если destinationType = store.

Идентификаторы хранилища распространителя, которое получит выпуск сборки.


isSilent - Не уведомляйте тестировщиков. Выпуск по-прежнему будет доступен для установки.
boolean. Необязательный элемент. Используйте при destinationType = groups.

Тестировщики не получают сообщение электронной почты о новых выпусках.


symbolsPdbFiles - Путь к символам (*.pdb)
Входной псевдоним: pdbPath. string. Необязательный элемент. Используйте при symbolsType = UWP. Значение по умолчанию: **/*.pdb.

Относительный путь от корня репозитория к файлам символов PDB. Путь может содержать подстановочные знаки.


Параметры управления задачами

Помимо входных данных, все задачи имеют параметры управления. Дополнительные сведения см. в разделе Параметры управления и общие свойства задачи.

Выходные переменные

Нет.

Remarks

Используйте эту задачу для распространения сборок приложений среди тестировщиков и пользователей через Центр приложений.

Примеры

В этом примере конвейера выполняется сборка приложения Android, выполнение тестов и публикация приложения с помощью приложения "Распространение в Центре приложений".

# 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'

Требования

Требование Описание
Типы конвейеров YAML, классическая сборка, классический выпуск
Выполняется в Агент, DeploymentGroup
Требования Нет
Capabilities Эта задача не удовлетворяет требованиям для последующих задач в задании.
Ограничения команд Любой
Устанавливаемые переменные Любой
Версия агента 2.206.1 или более поздней версии
Категория задач Развернуть
Требование Описание
Типы конвейеров YAML, классическая сборка, классический выпуск
Выполняется в Агент, DeploymentGroup
Требования Нет
Capabilities Эта задача не удовлетворяет требованиям для последующих задач в задании.
Ограничения команд Любой
Устанавливаемые переменные Любой
Версия агента 2.144.0 или более поздней версии
Категория задач Развернуть
Требование Описание
Типы конвейеров YAML, классическая сборка, классический выпуск
Выполняется в Агент, DeploymentGroup
Требования Нет
Capabilities Эта задача не удовлетворяет требованиям для последующих задач в задании.
Ограничения команд Любой
Устанавливаемые переменные Любой
Версия агента Все поддерживаемые версии агента.
Категория задач Развертывание