我有多个代理池需要管道来请求授权。 当我分配一个像 pool:
STAGING
这样的硬编码值给管道时,它会停止并请求授权。
⚠️ 在此运行之前,此管道需要访问资源的权限才能继续更新环境View
但是,当我将池名称作为运行时变量注入管道时,例如作为这样的矩阵策略的一部分:
- job: update
strategy:
matrix:
dev:
poolName: 'DEV'
stg:
poolName: 'STAGING'
maxParallel: 2
pool: $(pool)
失败,授权错误:
##[error]Pipeline does not have permissions to use the referenced pool(s) AWS_STG_02_RELEASE.
For authorization details, refer to https://aka.ms/yamlauthz.`
但是没有提示授权
不是解决方案,而是解决方法。 我曾经将池更改为硬编码值。 重新运行管道并授予请求的授权。 完成后管道已经被授权使用池并且可以与运行时设置的代理池一起工作。
对于动态分配的池,您需要从池的配置中授予管道访问池的权限:
进入资源的管理体验。例如,变量组和安全文件在 Pipelines 下的 Library 页面中进行管理。代理池和服务连接在项目设置中进行管理。您可以在此处授权所有管道访问该资源。如果您不需要限制对资源的访问(例如,测试资源),此授权很方便。