在VSTS中使用git标签或package.json版本作为发行版名称

Mic*_*den 6 git hadoop-yarn package.json azure-devops azure-pipelines-release-pipeline

我在VSTS中有一个CI任务,用于自动构建和测试,以及“带有标签的构建定义默认分支的最新版本”的自动发布定义。

发行名称格式当前设置为默认值$(rev:r),该值仅设置一个递增的数字,该数字与任何实际版本均无关。

我更喜欢使用我的应用程序版本作为package.json或发行版本名称的发行版名称,当我更新程序包版本时,它是由yarn所创建的git标签使用的。有什么办法可以做到这一点?

Mar*_*Liu 5

您不能直接使用 git tag 或 package.json version 作为发布名称,因为只有部分预定义变量可以用于发布名称,并且变量不能在构建和发布之间保留。

但是您可以使用组变量来获得帮助:在 CI 构建结束时使用 git tag 或 package.json 版本更新组变量值,并使用组变量作为发布名称。详细步骤如下:

  1. 添加变量组

    在“构建和发布中心”->“库”选项卡->“添加变量”组(例如)中,其中包含具有任意初始值(例如 )的release name变量(例如)。tag0

    在此输入图像描述

  2. 更改 CI 构建中的组变量

    您可以添加 PowerShell 任务来使用 git tag 或 package.json 版本更改组变量。

    • 要获取标签名称,可以使用 git 命令git tag --points-at HEAD
    • "version"要获取package.json版本,您可以使用powershell脚本搜索以etc开头的行。
    • 要更新组变量,您应该使用 REST API Variablegroups - Update
  3. 在发布中使用组变量

    要在发布名称中应用 git 标签或 package.json 版本,您可以更改发布定义,如下所示:

    发布定义 -> 变量选项卡 -> 变量组 -> 链接变量组 -> 选择变量组 -> 选项选项卡 -> 指定以修订版为发布名称的组变量标签。

    在此输入图像描述 在此输入图像描述

现在,当触发发布时,它将使用 git 标签或 package.json 版本以及版本名称的修订版。