【发布时间】:2020-03-04 12:42:25
【问题描述】:
我正在寻找一种在 Azure DevOps .yaml 文件中设置动态需求名称的方法。
目前,我们有一些自托管的构建代理,由 Azure DevOps 服务随机选择,但有时我们需要选择一个代理来调查它为什么不工作(或其他罕见事件)。一种方法是关闭所有其他代理并在所需的代理上运行(它会影响我们的整个 CI/CD)。第二种方法是添加临时管道并将所需代理移动到下一个代理池(这需要时间)。
我认为最好的解决方案是动态设置需求。例如,我可以在变量组中包含这些:
"DemandName" = "IsBuildAgent"
"DemandValue" = "是"
每个代理都会设置这个环境变量,它总是允许每个代理运行管道,但如果我会在运行管道之前设置以下变量。
"DemandName" = "AgentNumber"
"DemandValue" = "BuildAgentNr6"
它将覆盖库变量,并且只有一个代理能够运行此管道。
pool:
name: MyBuildAgents
demands: $(DemandName) -equals $(DemandValue)
DemandValue 已正确评估,但现在无法设置 DemandName。 是否有可能以稍微改变的方式实现?也许我应该改变语法?或者也许我应该将此作为新功能提出来?
【问题讨论】:
-
您能找到与您提出的方案类似的好的解决方案吗?
-
很遗憾还没有
-
我能找到的唯一不错的选择是stackoverflow.com/a/61998758/8209253
标签: azure-devops yaml