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 - 二进制文件路径
输入别名: appstring. 必需。

从存储库根目录到要发布的 APK/AAB 或 IPA 文件的相对路径。


buildVersion - 生成版本
string.

需要为 .zip.msi指定上传二进制文件的内部版本。 除非平台为 WPF 或 WinForms,否则将忽略此值。


symbolsOption - 符号类型
输入别名: symbolsTypestring. 允许的值:AppleAndroidUWP。 默认值:Apple

包括用于在 App Center 诊断中接收符号化堆栈跟踪的符号文件。


symbolsOption - 符号类型
输入别名: symbolsTypestring. 允许的值:AppleAndroid。 默认值:Apple

包括用于在 App Center 诊断中接收符号化堆栈跟踪的符号文件。


symbolsPath - 符号路径
string. 可选。 在 时 symbolsType == AndroidNative || symbolsType = Windows使用 。

从存储库根目录到 symbols 文件夹的相对路径。


appxsymPath - 符号路径 (*.appxsym)
string. 可选。 在 时 symbolsType = UWP使用 。

APPXSYM 符号文件的相对路径。 路径可能包含 通配符


symbolsDsymFiles - dSYM 路径
输入别名: dsymPathstring. 可选。 在 时 symbolsType = Apple使用 。

从存储库根目录到 dSYM 文件夹的相对路径。 路径可能包含 通配符


symbolsMappingTxtFile - 映射文件
输入别名: mappingTxtPathstring. 可选。 在 时 symbolsType = Android使用 。

从存储库根目录到 Android mapping.txt 文件的相对路径。


nativeLibrariesPath - 本机库文件路径
string. 可选。 在 时 symbolsType == Android使用 。

从存储库根目录到要发布的其他本机库 (的相对路径,例如 .so 文件) 。


symbolsIncludeParentDirectory - 包括父文件夹中的所有项目
输入别名: packParentFolderboolean. 可选。 在 时 symbolsType = Apple使用 。

上传所选符号文件或文件夹以及同一父文件夹中的所有其他项目。 对于 React Native 应用,这是必需的。


releaseNotesOption - 创建发行说明
输入别名: releaseNotesSelectionstring. 必需。 允许的值: input (输入发行说明) , file (选择发行说明文件) 。 默认值:input

发行说明将附加到版本,并在安装页上向测试人员显示。


releaseNotesInput - 发行说明
string. 当 releaseNotesSelection = input 时,需要此选项。

此版本的发行说明。


releaseNotesFile - 发行说明文件
string. 当 releaseNotesSelection = file 时,需要此选项。

选择包含此版本的发行说明的 UTF-8 编码文本文件。


isMandatory - 要求用户更新到此版本
boolean. 默认值:false

强制更新所需的 App Center 分发 SDK。 系统会自动提示测试人员进行更新。


destinationType - 发布目标
string. 必需。 允许的值:groupsstore。 默认值:groups

每个版本都分发到组或商店。


distributionGroupId - 目标 ID
输入别名: destinationGroupIdsstring. 可选。 在 时 destinationType = groups使用 。

将接收生成版本的通讯组的 ID。 将其留空以使用默认组,并使用逗号或分号分隔多个 ID。


destinationStoreId - 目标 ID
string. 当 destinationType = store 时,需要此选项。

将接收生成版本的分发存储的 ID。


isSilent - 不要通知测试人员。版本仍可供安装。
boolean. 可选。 在 时 destinationType = groups使用 。

测试人员不会收到有关新版本的电子邮件。


symbolsPdbFiles - 符号路径 (*.pdb)
输入别名: pdbPathstring. 可选。 在 时 symbolsType = UWP使用 。 默认值:**/*.pdb

从存储库根目录到 PDB 符号文件的相对路径。 路径可能包含 通配符


任务控制选项

除了任务输入,所有任务都有控制选项。 有关详细信息,请参阅 控制选项和常见任务属性

输出变量

无。

备注

使用此任务通过 App Center 将应用生成分发给测试人员和用户。

示例

此示例管道使用 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 或更高版本
任务类别 部署
要求 说明
管道类型 YAML、经典版本、经典版本
运行平台 Agent、DeploymentGroup
需求
功能 此任务不满足作业中后续任务的任何要求。
命令限制 任意
可设置变量 任意
代理版本 2.144.0 或更高版本
任务类别 部署
要求 说明
管道类型 YAML、经典版本、经典版本
运行平台 Agent、DeploymentGroup
需求
功能 此任务不满足作业中后续任务的任何要求。
命令限制 任意
可设置变量 任意
代理版本 所有支持的代理版本。
任务类别 部署