首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Azure DevOps -动态评估需求名称

Azure DevOps -动态评估需求名称
EN

Stack Overflow用户
提问于 2020-03-04 12:42:25
回答 2查看 1K关注 0票数 3

我正在寻找在Azure DevOps .yaml文件中设置动态需求名称的方法。

现在,我们有一些由Azure DevOps服务随机选择的自托管构建代理,但是有时我们需要选择一个代理来研究为什么它不能工作(或者其他罕见的事件)。一种方法是关闭所有其他代理,并对此进行操作(它影响我们的整个CI/CD)。第二种方法是添加临时管道并将所需代理移动到下一个代理池(这需要花费时间)。

我认为最好的解决方案是动态设定需求的可能性。例如,我可以在变量组中使用以下内容:

"DemandName“= "IsBuildAgent”

"DemandValue“=”是“

每个代理都有这个环境变量集ant,它总是允许每个代理运行管道,但是如果我在运行管道之前设置在变量下面。

"DemandName“= "AgentNumber”

"DemandValue“= "BuildAgentNr6”

它将覆盖库变量,并且只有一个代理能够运行此管道。

代码语言:javascript
复制
pool:
  name: MyBuildAgents
  demands: $(DemandName) -equals $(DemandValue)

DemandValue得到了正确的评估,但DemandName现在无法设置。是否有可能以略有改变的方式实现?也许我应该改变语法?或者我应该把它作为新功能来考虑?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-03-05 18:25:55

是否有可能以稍微改变的方式实现?也许我应该改变语法?或者我应该把它作为新功能来考虑?

你的语法是正确的。

恐怕没有这样的开箱即用或略有改变的方式来实现它。

就像测试一样,DemandName不能正确设置。这是因为根据语法规则,方程的左侧被视为字符串,而不是。这将导致Azure将demand name查找为字符串$(DemandName),而不是,即$(DemandName)的值,然后根据该值查找需求名称。

希望这能有所帮助。

票数 2
EN

Stack Overflow用户

发布于 2021-10-11 11:14:58

你能用这个表达式吗?但是,它需要为每个可能的需求设置一个代码块。

代码语言:javascript
复制
pool:
  name: MyBuildAgents
  ${{ if eq(variables['DemandName'],AgentNumber)}}:
    demands: AgentNumber -equals $(DemandValue)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60526369

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档