パッケージ化された 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 versions
、Docker 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
するときに使用します。 使用できる値: Append
、Replace
。 既定値: 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 種類の更新がサポートされます。
マニフェスト バージョン: Service Fabric アプリケーション パッケージのマニフェスト ファイルで指定されたサービスとアプリケーションのバージョンを更新します。 指定した場合、
manifest version
は現在のファイルを以前のビルドと比較し、それらの変更されたサービスのバージョンのみを更新します。Docker イメージの設定: Service Fabric アプリケーション パッケージのマニフェスト ファイルで指定された Docker コンテナー イメージの設定を更新します。 配置するイメージ設定は、次の 2 つのファイルから選択されます。
a. イメージ名ファイル: このファイルはビルド タスクによって生成されます。
b。 イメージ ダイジェスト ファイル: このファイルは、イメージをレジストリにプッシュするときに Docker タスクによって生成されます。