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

Use git tag or package.json version as Release name in VSTS

我在 VSTS 中有一个 CI 任务用于自动构建和测试以及 'Latest from build definition default branch with tags' 的自动发布定义。

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

当我更新包版本时,我更愿意使用我的应用程序的版本作为发布名称,无论是来自 package.json 还是来自 yarn 创建的 git 标签。有什么办法可以实现吗?

您不能直接使用 git 标签或 package.json 版本作为发布名称,因为只有 part of predefined variables can be used for release name,并且变量不能在构建和发布之间持续存在。

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

  1. 添加变量组

    在Build and Release Hub -> Library Tab -> Add Variable group (如release name) 带有任意初始值(如[=12]的变量(如tag) =]).

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

    您可以添加一个 PowerShell 任务来更改带有 git 标签或 package.json 版本的组变量。

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

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

    版本定义 -> 变量选项卡 -> 变量组 -> Link 变量组 -> select 变量组 -> 选项选项卡 -> 指定带有修订版本的组变量标签作为版本名字.

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