Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Эта задача предназначена для распространения сборок приложений для тестировщиков и пользователей через Центр приложений 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.
Тестировщики не получают электронную почту для новых выпусков.
Параметры управления задачами
Помимо входных данных, все задачи имеют параметры управления. Дополнительные сведения см. в разделе Параметры управления и общие свойства задач.
Выходные переменные
Нет.
Замечания
Эта задача предназначена для распространения сборок приложений для тестировщиков и пользователей через Центр приложений.
- сначала зарегистрируйтесь в Центре приложений.
- Дополнительные сведения об использовании этой задачи см. в статье документации по Центру приложений развертывании сборок 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://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 | Любое |
| Версия агента | Все поддерживаемые версии агента. |
| Категория задач | Внедрять |