AppCenterDistribute@3 - App Center 分发 v3 任务
使用此任务通过 Visual Studio App Center 将应用版本分发给测试人员和用户。
语法
# 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
- App Center 服务连接
string
. 必需。
选择 Visual Studio App Center 的服务连接。 若要创建一个,请单击该 Manage
链接并创建新的服务连接。
appSlug
- 应用数据
string
. 必需。
应用数据组的格式 {username}/{app_identifier}
为 。 若要查找 {username}
应用的 和 {app_identifier}
,请在 App Center 中单击其名称,生成的 URL 的格式 https://appcenter.ms/users/**{username}**/apps/**{app_identifier}**
为 。 如果使用的是组织,则应用数据组的格式 {orgname}/{app_identifier}
为 。
appFile
- 二进制文件路径
输入别名: app
。 string
. 必需。
从存储库根目录到要发布的 APK/AAB 或 IPA 文件的相对路径。
buildVersion
- 生成版本
string
.
需要为 .zip
和 .msi
指定上传二进制文件的内部版本。 除非平台为 WPF 或 WinForms,否则将忽略此值。
symbolsOption
- 符号类型
输入别名: symbolsType
。 string
. 允许的值:Apple
、Android
、UWP
。 默认值:Apple
。
包括用于在 App Center 诊断中接收符号化堆栈跟踪的符号文件。
symbolsOption
- 符号类型
输入别名: symbolsType
。 string
. 允许的值:Apple
、Android
。 默认值:Apple
。
包括用于在 App Center 诊断中接收符号化堆栈跟踪的符号文件。
symbolsPath
- 符号路径
string
. 可选。 在 时 symbolsType == AndroidNative || symbolsType = Windows
使用 。
从存储库根目录到 symbols 文件夹的相对路径。
symbolsDsymFiles
- dSYM 路径
输入别名: dsymPath
。 string
. 可选。 在 时 symbolsType = Apple
使用 。
从存储库根目录到 dSYM 文件夹的相对路径。 路径可能包含 通配符。
symbolsMappingTxtFile
- 映射文件
输入别名: mappingTxtPath
。 string
. 可选。 在 时 symbolsType = Android
使用 。
从存储库根目录到 Android mapping.txt
文件的相对路径。
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
。
强制更新所需的 App Center 分发 SDK。 系统会自动提示测试人员进行更新。
destinationType
- 发布目标
string
. 必需。 允许的值:groups
、store
。 默认值:groups
。
每个版本都分发到组或商店。
distributionGroupId
- 目标 ID
输入别名: destinationGroupIds
。 string
. 可选。 在 时 destinationType = groups
使用 。
将接收生成版本的通讯组的 ID。 将其留空以使用默认组,并使用逗号或分号分隔多个 ID。
destinationStoreId
- 目标 ID
string
. 当 destinationType = store
时,需要此选项。
将接收生成版本的分发存储的 ID。
isSilent
- 不要通知测试人员。版本仍可供安装。
boolean
. 可选。 在 时 destinationType = groups
使用 。
测试人员不会收到有关新版本的电子邮件。
symbolsPdbFiles
- 符号路径 (*.pdb)
输入别名: pdbPath
。 string
. 可选。 在 时 symbolsType = UWP
使用 。 默认值:**/*.pdb
。
从存储库根目录到 PDB 符号文件的相对路径。 路径可能包含 通配符。
任务控制选项
除了任务输入,所有任务都有控制选项。 有关详细信息,请参阅 控制选项和常见任务属性。
输出变量
无。
备注
使用此任务通过 App Center 将应用生成分发给测试人员和用户。
- 首先通过 App Center 进行注册。
- 有关使用此任务的详细信息,请参阅 App Center 文档使用 App Center 部署 Azure DevOps 生成一文。
示例
此示例管道使用 App Center 分发生成 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、经典版本、经典版本 |
运行平台 | Agent、DeploymentGroup |
需求 | 无 |
功能 | 此任务不满足作业中后续任务的任何要求。 |
命令限制 | 任意 |
可设置变量 | 任意 |
代理版本 | 2.206.1 或更高版本 |
任务类别 | 部署 |