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