ServiceFabricUpdateManifests@2 - Service Fabric マニフェスト v2 タスクを更新する

パッケージ化された Service Fabric アプリのバージョンを自動的に更新するには、ビルド パイプラインでこのタスクを使用します。 このタスクは、Azure Service Fabric アプリ パッケージ内のマニフェスト ファイルで指定されたすべてのサービスとアプリのバージョンにバージョン サフィックスを追加します。

構文

# Update Service Fabric manifests v2
# Automatically update portions of application and service manifests in a packaged Azure Service Fabric application.
- task: ServiceFabricUpdateManifests@2
  inputs:
    updateType: 'Manifest versions' # 'Manifest versions' | 'Docker image settings'. Required. Update Type. Default: Manifest versions.
    applicationPackagePath: # string. Required. Application Package. 
    #versionSuffix: '.$(Build.BuildNumber)' # string. Required when updateType = Manifest versions. Version Value. Default: .$(Build.BuildNumber).
    #versionBehavior: 'Append' # 'Append' | 'Replace'. Optional. Use when updateType = Manifest versions. Version Behavior. Default: Append.
    #updateOnlyChanged: false # boolean. Optional. Use when updateType = Manifest versions. Update only if changed. Default: false.
    #pkgArtifactName: # string. Optional. Use when updateType = Manifest versions && updateOnlyChanged = true. Package Artifact Name. 
    #logAllChanges: true # boolean. Optional. Use when updateType = Manifest versions && updateOnlyChanged = true. Log all changes. Default: true.
    #compareType: 'LastSuccessful' # 'LastSuccessful' | 'Specific'. Optional. Use when updateType = Manifest versions && updateOnlyChanged = true. Compare against. Default: LastSuccessful.
    #buildNumber: # string. Optional. Use when updateType = Manifest versions && compareType = Specific. Build Number. 
    #overwriteExistingPkgArtifact: true # boolean. Optional. Use when updateType = Manifest versions && updateOnlyChanged = true. Overwrite Existing Package Artifact. Default: true.
    #imageNamesPath: # string. Optional. Use when updateType = Docker image settings. Image Names Path. 
    #imageDigestsPath: # string. Required when updateType = Docker image settings. Image Digests Path.
# Update Service Fabric Manifests v2
# Automatically updates portions of the application and service manifests within a packaged Service Fabric application.
- task: ServiceFabricUpdateManifests@2
  inputs:
    updateType: 'Manifest versions' # 'Manifest versions' | 'Docker image settings'. Required. Update Type. Default: Manifest versions.
    applicationPackagePath: # string. Required. Application Package. 
    #versionSuffix: '.$(Build.BuildNumber)' # string. Required when updateType = Manifest versions. Version Value. Default: .$(Build.BuildNumber).
    #versionBehavior: 'Append' # 'Append' | 'Replace'. Optional. Use when updateType = Manifest versions. Version Behavior. Default: Append.
    #updateOnlyChanged: false # boolean. Optional. Use when updateType = Manifest versions. Update only if changed. Default: false.
    #pkgArtifactName: # string. Optional. Use when updateType = Manifest versions && updateOnlyChanged = true. Package Artifact Name. 
    #logAllChanges: true # boolean. Optional. Use when updateType = Manifest versions && updateOnlyChanged = true. Log all changes. Default: true.
    #compareType: 'LastSuccessful' # 'LastSuccessful' | 'Specific'. Optional. Use when updateType = Manifest versions && updateOnlyChanged = true. Compare against. Default: LastSuccessful.
    #buildNumber: # string. Optional. Use when updateType = Manifest versions && compareType = Specific. Build Number. 
    #overwriteExistingPkgArtifact: true # boolean. Optional. Use when updateType = Manifest versions && updateOnlyChanged = true. Overwrite Existing Package Artifact. Default: true.
    #imageNamesPath: # string. Optional. Use when updateType = Docker image settings. Image Names Path. 
    #imageDigestsPath: # string. Required when updateType = Docker image settings. Image Digests Path.

入力

updateType - 更新の種類
string. 必須です。 使用できる値: Manifest versionsDocker image settings。 既定値: Manifest versions

マニフェスト ファイルに対して行う必要がある更新の種類を指定します。 両方の更新の種類を使用するには、実行する更新の種類ごとに、このタスクのインスタンスをビルド パイプラインに追加します。


applicationPackagePath - アプリケーション パッケージ
string. 必須です。

アプリケーション パッケージへのパスを指定します。 パス では、変数とワイルドカードを使用できます。 applicationPackagePathまたは の末尾にスラッシュ\/を付けてはなりません。


versionSuffix - バージョン値
string. の場合は updateType = Manifest versions必須です。 既定値: .$(Build.BuildNumber)

マニフェスト ファイル内のバージョンを指定します。

ヒント

ビルド番号の形式を直接変更することも、ログ コマンドを使用して変数を動的に形式で設定することもできます。 たとえば、PowerShell タスクで定義されている を使用 $(VersionSuffix) できます。

$versionSuffix = ".$([DateTimeOffset]::UtcNow.ToString('yyyyMMdd.HHmmss'))"
Write-Host "##vso[task.setvariable variable=VersionSuffix;]$versionSuffix"

versionBehavior - バージョンの動作
string. 省略可能。 の場合は updateType = Manifest versionsを使用します。 使用できる値: AppendReplace。 既定値: Append

マニフェスト ファイル内の既存の値にバージョン値を追加するか、置き換えるかを指定します。


updateOnlyChanged - 変更された場合にのみ更新する
boolean. 省略可能。 の場合は updateType = Manifest versionsを使用します。 既定値: false

以前のビルドから変更されたパッケージにのみ、新しいバージョン サフィックスを追加します。 変更が見つからない場合は、前のビルドのバージョン サフィックスが追加されます。

Note

既定では、変更が行われていなくても、コンパイラによって異なる出力が作成されます。 決定論的コンパイラ フラグを使用して、同じ入力を持つビルドで同じ出力が生成されるようにします。


pkgArtifactName - パッケージ成果物名
string. 省略可能。 の場合は updateType = Manifest versions && updateOnlyChanged = trueを使用します。

比較対象のアプリケーション パッケージを含む成果物の名前を指定します。


logAllChanges - すべての変更をログに記録する
boolean. 省略可能。 の場合は updateType = Manifest versions && updateOnlyChanged = trueを使用します。 既定値: true

すべてのパッケージ内のすべてのファイルを比較し、ファイルが追加、削除、または内容が変更された場合にログを記録します。 それ以外の場合、このブール値は、パフォーマンスを向上させるために最初の変更が見つかるまでパッケージ内のファイルのみを比較します。


compareType - 比較対象
string. 省略可能。 の場合は updateType = Manifest versions && updateOnlyChanged = trueを使用します。 使用できる値: LastSuccessful (最後に成功したビルド)、 Specific (特定のビルド)。 既定値: LastSuccessful

最後に完了したビルドと成功したビルドを比較するか、特定のビルドと比較するかを指定します。


buildNumber - ビルド番号
string. 省略可能。 の場合は updateType = Manifest versions && compareType = Specificを使用します。

比較するビルド番号を指定します。


overwriteExistingPkgArtifact - 既存のパッケージ成果物を上書きする
boolean. 省略可能。 の場合は updateType = Manifest versions && updateOnlyChanged = trueを使用します。 既定値: true

成果物の新しいコピーをダウンロードします。 それ以外の場合、このブール値は既存のコピー (存在する場合) を使用します。


imageNamesPath - イメージ名のパス
string. 省略可能。 の場合は updateType = Docker image settingsを使用します。

ダイジェストで更新する必要がある Service Fabric アプリケーションに関連付けられている Docker イメージの名前を含むテキスト ファイルへのパスを指定します。 各イメージ名は、独自の行に配置する必要があり、Image Digests ファイル内のダイジェストと同じ順序にする必要があります。 イメージが Service Fabric プロジェクトによって作成される場合、このファイルはパッケージ ターゲットの一部として生成され、その出力場所は プロパティ BuiltDockerImagesFilePathによって制御されます。


imageDigestsPath - イメージ ダイジェスト パス
string. の場合は updateType = Docker image settings必須です。

Service Fabric アプリケーションに関連付けられている Docker イメージのダイジェスト値を含むテキスト ファイルへのパスを指定します。 このファイルは、プッシュ アクションを使用するときに Docker タスク によって出力できます。 ファイルには、 の形式 registry/image_name@digest_valueのテキスト行が含まれている必要があります。


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

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

出力変数

[なし] :

解説

パッケージ化された Service Fabric アプリのバージョンを自動的に更新するには、ビルド パイプラインでこのタスクを使用します。 このタスクは、Azure Service Fabric アプリ パッケージ内のマニフェスト ファイルで指定されたすべてのサービスとアプリのバージョンにバージョン サフィックスを追加します。

注意

このタスクにはWindows PowerShellが必要です。

このタスクは、 リリース パイプラインでは使用できません。

このタスクは、パッケージ化された Service Fabric アプリのバージョンを自動的に更新するために、ビルド パイプラインでのみ使用できます。

このタスクでは、次の 2 種類の更新がサポートされています。

  1. マニフェスト バージョン: Service Fabric アプリケーション パッケージのマニフェスト ファイルで指定されたサービスとアプリケーションのバージョンを更新します。 を指定すると、 manifest version 現在のファイルが以前のビルドと比較され、変更されたサービスのバージョンのみが更新されます。

  2. Docker イメージの設定: Service Fabric アプリケーション パッケージのマニフェスト ファイルで指定された docker コンテナー イメージ設定を更新します。 配置するイメージ設定は、次の 2 つのファイルから選択されます。

    a. イメージ名ファイル: このファイルはビルド タスクによって生成されます。

    b. イメージ ダイジェスト ファイル: このファイルは、イメージをレジストリにプッシュするときに docker タスクによって生成されます。

必要条件

要件 説明
パイプラインの種類 YAML、クラシック ビルド
上で実行 エージェント、DeploymentGroup
確認要求 セルフホステッド エージェントには、このタスクを使用するジョブを実行するための次の要求に一致する機能が必要です。
Capabilities このタスクは、ジョブ内の後続のタスクに対する要求を満たしていません。
コマンドの制限 Any
設定可能な変数 Any
エージェントのバージョン 1.95.0 以上
タスクのカテゴリ ユーティリティ