次の方法で共有


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.

入力

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.

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

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


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 イメージの名前を含むテキスト ファイルへのパスを指定します。 各イメージ名は、独自の行に配置する必要があり、イメージ ダイジェスト ファイル内のダイジェストと同じ順序にする必要があります。 イメージが 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
の需要 セルフホステッド エージェントには、このタスクを使用するジョブを実行するために 次の 要求に一致する 機能 が必要です。
機能の このタスクは、ジョブ内の後続のタスクに対する要求を満たしていません。
コマンドの制限 どれでも
設定可能な変数 どれでも
エージェントのバージョン 1.95.0 以上
タスク カテゴリ 効用