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
Используйте эту задачу для распространения сборок приложений среди тестировщиков и пользователей через Центр приложений.
- Сначала зарегистрируйтесь в Центре приложений .
- Дополнительные сведения об использовании этой задачи см. в документации по Центру приложений в статье Развертывание сборок Azure DevOps с помощью Центра приложений.
Примеры
В этом примере конвейера выполняется сборка приложения Android, выполнение тестов и публикация приложения с помощью приложения "Распространение в Центре приложений".
# Android
# Build your Android project with Gradle.
# Add steps that test, sign, and distribute the APK, save build artifacts, and more:
# https://video2.skills-academy.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 | Эта задача не удовлетворяет требованиям для последующих задач в задании. |
Ограничения команд | Любой |
Устанавливаемые переменные | Любой |
Версия агента | Все поддерживаемые версии агента. |
Категория задач | Развертывание |