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}は です。 アプリの と {app_identifier} を見つけるには{username}App Center からその名前をクリックすると、結果の URL は のhttps://appcenter.ms/users/**{username}**/apps/**{app_identifier}**形式になります。 組織を使用している場合、アプリスラッグの形式 {orgname}/{app_identifier}は です。


appFile - バイナリ ファイル パス
入力エイリアス: appstring. 必須です。

リポジトリ ルートから、公開する APK/AAB または IPA ファイルへの相対パス。


buildVersion - ビルド バージョン
string.

.msiに指定する必要があるアップロード バイナリの.zipビルド バージョン。 プラットフォームが WPF または WinForms でない限り、この値は無視されます。


symbolsOption - シンボルの種類
入力エイリアス: symbolsTypestring. 許可値: AppleAndroidUWP。 既定値: Apple

App Center Diagnostics でシンボル化されたスタック トレースを受信するシンボル ファイルが含まれています。


symbolsOption - シンボルの種類
入力エイリアス: symbolsTypestring. 使用できる値: AppleAndroid。 既定値: Apple

App Center Diagnostics でシンボル化されたスタック トレースを受信するシンボル ファイルが含まれています。


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 Distribute 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 を通じてテスト担当者とユーザーにアプリ ビルドを配布します。

このパイプライン例では、Android アプリをビルドし、テストを実行し、App Center Distribute を使用してアプリを発行します。

# 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
確認要求 なし
Capabilities このタスクは、ジョブ内の後続のタスクに対する要求を満たしていません。
コマンドの制限 Any
設定可能な変数 Any
エージェントのバージョン 2.206.1 以降
タスクのカテゴリ デプロイ
要件 説明
パイプラインの種類 YAML、クラシック ビルド、クラシック リリース
実行日 エージェント、DeploymentGroup
確認要求 なし
Capabilities このタスクは、ジョブ内の後続のタスクに対する要求を満たしていません。
コマンドの制限 Any
設定可能な変数 Any
エージェントのバージョン 2.144.0 以上
タスクのカテゴリ デプロイ
要件 説明
パイプラインの種類 YAML、クラシック ビルド、クラシック リリース
実行日 エージェント、DeploymentGroup
確認要求 なし
Capabilities このタスクは、ジョブ内の後続のタスクに対する要求を満たしていません。
コマンドの制限 Any
設定可能な変数 Any
エージェントのバージョン サポートされているすべてのエージェント バージョン。
タスクのカテゴリ 配置