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


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.

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

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

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


appSlug - приложения
string. Обязательное.

Слизь приложения находится в формате {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.

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


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

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


пути символов 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 files).


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.

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


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

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

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

Нет.

Замечания

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

Примеры

В этом примере конвейер создает приложение 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
требования Нет
возможностей Эта задача не удовлетворяет требованиям к последующим задачам в задании.
ограничения команд Любое
переменные settable Любое
Версия агента 2.206.1 или более поздней версии
Категория задач Внедрять
Требование Описание
Типы конвейеров YAML, классическая сборка, классический выпуск
Выполняется в Агент, DeploymentGroup
требования Нет
возможностей Эта задача не удовлетворяет требованиям к последующим задачам в задании.
ограничения команд Любое
переменные settable Любое
Версия агента 2.144.0 или более поздней версии
Категория задач Внедрять
Требование Описание
Типы конвейеров YAML, классическая сборка, классический выпуск
Выполняется в Агент, DeploymentGroup
требования Нет
возможностей Эта задача не удовлетворяет требованиям к последующим задачам в задании.
ограничения команд Любое
переменные settable Любое
Версия агента Все поддерживаемые версии агента.
Категория задач Внедрять