“在默认池中找不到满足指定要求的代理:
Posted
技术标签:
【中文标题】“在默认池中找不到满足指定要求的代理:【英文标题】:"No agent found in pool Default which satisfies the specified demands: 【发布时间】:2020-04-10 16:12:25 【问题描述】:我在 Azure DevOps 管道中进行构建时收到以下消息。这里我使用的是 Azure DevOps 管道、VS2017 和 Windows 2016。
"在池默认中没有找到满足指定要求的代理:
msbuild
视觉工作室
vs测试
Agent.Version -gtVersion 2.161.0 "
当我在单个管道中使用三个代理作业时,这会失败。如果我在新管道中运行相同的任务,它工作正常。您能否提出解决方案?
【问题讨论】:
【参考方案1】:这里也一样。 我们有同样的问题,MS 正在跟踪它。 https://twitter.com/AzureDevOps/status/1207288336206815232
【讨论】:
我们注意到问题发生在我们使用 DownloadPipelineArtifact@2 任务时 这个问题似乎只出现在第二阶段构建中:dev.azure.com/rmetzger/Flink/_build/…(但它们也包含一个DownloadPipelineArtifact
任务。
我刚刚意识到代理已经发布了 2.163 版本。只需更新它们即可解决问题:)【参考方案2】:
这个问题是由“Download Pipeline Artifacts@2”任务引起的。
不久前已向产品组报告,我们的工程师已发布解决兼容性问题的修复程序。此问题现已修复。对于给您带来的不便,我深表歉意。
有关详细信息,请参阅我们的开发者社区论坛上的case。
【讨论】:
感谢您的帮助。我删除了“下载管道工件@2”并添加了“下载构建工件”并进行了一些更改以符合我们的要求。我们现在可以正常构建了。【参考方案3】:在我的情况下,我们遇到了错误,这就是解决它的方法:
我登录到我们的构建服务器并重新启动了这三个服务:
在我们的例子中,这只是一个管道的问题,因为我们使用的另一个管道运行正常。我不知道为什么一个管道工作而另一个管道没有工作,因为它们都使用相同的代理,但重新启动服务解决了它。
【讨论】:
【参考方案4】:我在创建新代理时收到此错误。
这个新代理没有收到旧代理上的现有User-defined capabilities
。
比较代理功能后,我添加了缺少的用户定义功能并开始编译。
【讨论】:
【参考方案5】:在您的管道定义 YML 文件中,您必须在指定代理池之前指定“windows-2016”,见下文:
stages:
- stage: Build
displayName: 'IaC Build'
variables:
- name: var
value: val
jobs:
- job: Build
pool:
vmImage: 'windows-2016'
steps:
- task: ...
# Deploy Dev
- stage: DeployDevInfra
displayName: 'Deploy: DEV'
dependsOn: build
variables:
- group: your-var-group
- name: var
value: val
jobs:
- template: another-pipeline.yml
parameters:
agentpool: 'here-come-name-of-your-agent-pool'
environment: 'your-dev-environment'
【讨论】:
【参考方案6】:就我而言,我不得不删除并重新创建发布管道,它才开始工作。其他答案都不适用于我。
【讨论】:
以上是关于“在默认池中找不到满足指定要求的代理:的主要内容,如果未能解决你的问题,请参考以下文章