VSTS标签源不读取构建阶段输出变量

时间:2018-05-29 19:20:00

标签: tfs build continuous-integration azure-devops

我正在尝试使用团队基础服务器的内置标记源功能标记构建,标记在构建阶段创建并作为输出变量输出。但是,标签源步骤从不评估变量,步骤失败。为什么标签源不会评估标签变量的值?

标记源已设置如下 enter image description here

标记步骤创建并输出标记 enter image description here

“Tag Step Logs”和“PRINT ENV VARS”都显示了创建的变量的值。 enter image description here

enter image description here

然后标签来源失败,因为它无法从变量

中读取标签值

enter image description here

2 个答案:

答案 0 :(得分:1)

这是因为输出变量仅在下一个会话中可用,这意味着它只能从后面步骤Tag variable creates的步骤中读取。

但正如您所看到的,Label source处于Get sources步骤中,处于步骤Tag variable creates之前。

因此,无法读取输出变量。我们无法使用自定义变量标记来源。

我们只能在variables tab标签来源上使用预定义和用户定义的变量。有关详细信息,请参阅Label sources

enter image description here

答案 1 :(得分:0)

已找到问题的解决方案。

我正在更新变量Build.BuildNumber并在Tag源中使用它。这是有效的,因为此变量可用于标签来源步骤。

我添加了以下行,以更新构建变量

Write-Host ("##vso[build.updatebuildnumber]$tag")

enter image description here

然后,标签来源步骤使用变量访问此更新的数字 $(Build.BuildNumber)

enter image description here

感谢Alexey,想出这个问题。