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)

指定清单文件中的版本。

提示

可以直接修改内部版本号格式,也可以使用日志记录命令以格式动态设置变量。 例如,可以使用 $(VersionSuffix) PowerShell 任务中定义的:

$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 应用的版本。

此任务支持两种类型的更新:

  1. 清单版本:汇报 Service Fabric 应用程序包的清单文件中指定的服务和应用程序版本。 如果指定, manifest version 则比较当前文件与以前的内部版本,并仅更新这些已更改的服务的版本。

  2. Docker 映像设置:汇报 Service Fabric 应用程序包中的清单文件中指定的 docker 容器映像设置。 要放置的图像设置是从两个文件中选取的:

    a. 映像名称文件:此文件由生成任务生成。

    b. 映像摘要文件:此文件由 docker 任务在将映像推送到注册表时生成。

示例

要求

要求 说明
管道类型 YAML,经典内部版本
运行平台 Agent、DeploymentGroup
需求 自承载代理必须具有满足以下要求的功能才能运行使用此任务的作业:Cmd
功能 此任务不满足作业中后续任务的任何要求。
命令限制 任意
可设置的变量 任意
代理版本 1.95.0 或更高版本
任务类别 实用工具