我正在尝试按照本文档对构建进行排队:https://learn.microsoft.com/en-us/rest/api/azure/devops/build/builds/queue?view=azure-devops-rest-7.0
我想使用特定代理对构建进行排队。 JSON 正文正确通过,但“需求”未合并,并选择池中最可用的代理。
$body = @{
...
...
"demands" = @(@{
"value" = "Agent.Name -equals agent.01"
})
}
我也尝试过:
"demands" = @(@{
"name" = "Agent.Name"
"value" = "agent.01"
})
"demands" = @(
"Agent.Name -equals agent.01"
})
如有任何帮助,我们将不胜感激!
我认为需求已经被打破,至少对于本地服务器 2020 更新 1.2 来说是这样。在我用头撞墙的时间比我愿意承认的时间长之后,我想出了一个解决方法:向管道 YAML 添加一个参数,并设置池需求:基于该参数的值。
parameters:
- name: buildAgent
stages:
- stage: StageName
jobs:
- job: JobName
pool:
name: Default
demands: Agent.Name -equals ${{ parameters.buildAgent }}
steps: ...
{
"definition": {"id": "123"},
"templateParameters": {"buildAgent":"*agentnamegoeshere*"}
}
编辑添加:理论上,池(有需求)可以进入舞台或管道,我的池恰好在工作中,这就是我测试的方式。