【发布时间】:2021-09-17 23:13:30
【问题描述】:
如果对代理应用批准和检查,Azure devops 多阶段 YML 构建管道不允许代理池名称作为变量,并且在管道运行时会出现以下错误。
错误
##[错误]作业正在使用未评估检查的受保护资源队列:MY_AGENT_PROD,队列:MY_AGENT_PROD。更多详情请参考https://aka.ms/pipelinechecks。
示例:
私人代理池名称为:“MY_AGENT_PROD”, Applied Security > Approvals & Check > Approvals(添加了一个可以批准的组)
我的管道:添加了管道变量 agent.pool.name=MY_AGENT_PROD
stages:
- stage:
jobs:
- job:
displayName: "READ_PARAM"
pool:
name: $(agent.pool.name)
steps:
- script: |
echo appName: $(appName)
观察:如果直接使用池名而不是变量名,效果很好。
这是 ADO 管道中的错误吗?
我们不想在管道中硬编码代理池名称。
【问题讨论】:
-
你考虑用runtime parameters 替换这个变量吗?
-
但是对于运行时参数,我们还需要在我们不想要的管道中对其进行硬编码。如果您在运行时说文本框,那么我们也不想要(用户每次运行时都必须输入池名称)。
标签: azure-devops azure-pipelines