0

我已经使用自定义计数器的值设置了一个变量:

$[counter('myCounter', 0)]

我使用此值Build number format在选项选项卡中设置:

v$(major).$(minor).$(myCounterVariable)

我第一次运行它时,它工作正常,值0与使用计数器一样。我还选中了“排队时可设置”复选框,以便用户在手动触发构建管道时可以覆盖。但是,这并没有通过。

但是,如果我没有将变量设置为上面的计数器并将其设置为一个数字,例如 999,那么当我在队列时间将其设置为 567 时,它会被 567 覆盖,哪个是对的。

似乎计数器不允许您覆盖它。

笔记

在圣诞节之前,这是可行的,我想知道 DevOps 是否发生了变化,消除了覆盖自定义计数器的能力。

4

1 回答 1

1

无法在 Azure DevOps Build Pipelines 中的队列时间设置自定义计数器

事实上,我也可以在我这边重现这个问题。但是我检查了最近的两个Sprint 更新,但没有找到关于计数器的任何更新,所以我不确定 DevOps 是否发生了更改,从而消除了覆盖自定义计数器的能力。

但是,我们可以确定的一件事是无法在排队时设置自定义计数器,我发现这个问题是在我们的产品问题主论坛上报告的:

无法在 Azure DevOps Build Pipelines 中的队列时间设置自定义计数器

期待产品组尽快解决此问题,您可以查看此票的反馈。

作为此问题的解决方法,我们可以inline powershell向管道添加一个任务,并添加一个变量ManuallTriggerNumber并将值设置为empty(还选中了“在队列时设置”复选框):

在此处输入图像描述

在 inline powershell 任务中,我们使用Logging 命令设置内部版本号:

Write-Host "##vso[build.updatebuildnumber]v$(major).$(minor).$(ManuallTriggerNumber)"

并设置条件:

and(succeeded(), ne(variables['$(ManuallTriggerNumber)'], 'Null'))

在此处输入图像描述

在这种情况下,当我们手动触发构建管道时,我们可以ManuallTriggerNumber在队列时间设置变量值,将调用内联 powershell 根据条件更新构建号true

希望这可以帮助。

于 2020-01-10T04:36:45.110 回答