关于 tfs:VSTS 标签源未读取构建阶段输出变量

VSTS Label Sources not reading Build Phase Output Variable

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

标签来源已经这样设置
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


已找到问题的解决方案。

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

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

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

enter image description here

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

enter image description here

感谢 Alexey 解决了这个问题。


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

但正如你所见,Label source 在第一个 Get sources 步骤中,它在步骤 Tag variable creates 之前。

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

我们只能使用变量选项卡上预定义和用户定义的变量来标记源。有关详细信息,请参阅标签来源。

enter image description here