在VSTS中使用git tag或package.json版本作为版本名称

时间:2018-05-23 20:29:34

标签: git azure-devops yarn package.json azure-pipelines-release-pipeline

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

版本名称格式当前设置为默认值$(rev:r),它只设置一个与任何真实版本无关的增加数字。

当我更新软件包版本时,我更喜欢使用我的应用程序版本作为发布名称来自package.json或者由yarn创建的git标签。有没有办法实现这个目标?

1 个答案:

答案 0 :(得分:3)

您不能直接使用git tag或package.json版本作为版本名称,因为只有p art of predefined variables can be used for release name和变量在构建和发布之间不能保留。

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

  1. 添加变量组

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

    enter image description here

  2. 更改CI版本中的组变量

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

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

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

    发布定义 - >变量选项卡 - >变量组 - >链接变量组 - >选择变量组 - >选项标签 - >指定具有版本的组变量标记作为版本名称。

    enter image description here enter image description here

  4. 现在,当触发发布时,它将使用带有版本名称的git标记或package.json版本。