次の方法で共有


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 サービス接続serverEndpoint -
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 Diagnostics でシンボル化されたスタック トレースを受信するシンボル ファイルが含まれています。


symbolsPath - シンボル パス
string。 任意 symbolsType == AndroidNative || symbolsType = Windowsするときに使用します。

リポジトリ ルートからシンボル フォルダーへの相対パス。


appxsymPath - シンボル パス (*.appxsym)
string。 任意 symbolsType = UWPするときに使用します。

APPXSYM シンボル ファイルへの相対パス。 パスには、ワイルドカード 含まれている場合があります。


dSYM パスsymbolsDsymFiles - する
入力エイリアス: 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 - リリース ノート
stringreleaseNotesSelection = inputする場合に必要です。

このバージョンのリリース ノート。


releaseNotesFile - リリース ノート ファイルの
stringreleaseNotesSelection = fileする場合に必要です。

このバージョンのリリース ノートを含む UTF-8 でエンコードされたテキスト ファイルを選択します。


isMandatory - ユーザーにこのリリースへの更新を要求する
boolean。 既定値: false.

App Center Distribute SDK は、更新プログラムを要求するために必要です。 テスターは自動的に更新を求められます。


destinationType - リリース先の
string。 必須。 使用できる値: groupsstore。 既定値: groups.

各リリースは、グループまたはストアに配布されます。


宛先 IDdistributionGroupId -
入力エイリアス: destinationGroupIdsstring。 任意 destinationType = groupsするときに使用します。

ビルド リリースを受け取る配布グループの ID。 既定のグループを使用する場合は空のままにし、複数の ID を区切るにはコンマまたはセミコロンを使用します。


宛先 IDdestinationStoreId - する
stringdestinationType = storeする場合に必要です。

ビルド リリースを受け取る配布ストアの ID。


isSilent - テスターに通知しない。リリースは引き続きインストールできます。
boolean。 任意 destinationType = groupsするときに使用します。

テスト担当者は、新しいリリースの電子メールを受け取りません。


タスク コントロールのオプション

すべてのタスクには、タスク入力に加えて制御オプションがあります。 詳細については、「コントロール オプションと一般的なタスク プロパティを参照してください。

出力変数

なし。

注釈

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