【发布时间】:2020-06-08 03:25:10
【问题描述】:
我在自托管代理上运行基于 YAML 的构建管道时遇到问题。触发构建后,它会卡在 Preparing an agent for the job - Waiting for the request to be queued。
azure-pipelines.yml 如下所示:
trigger:
- master
pool:
name: Default
steps:
- script: echo Hello, world!
displayName: 'Run a one-line script'
如果我更改为 Microsoft 托管代理,则构建确实有效:
trigger:
- master
pool:
vmImage: ubuntu-16.04
steps:
- script: echo Hello, world!
displayName: 'Run a one-line script'
奇怪的是,我有其他现有的 YAML 构建管道在自托管代理上运行良好,但我尝试创建的所有新管道最终都卡住了 等待请求排队。
我尝试了当前最新版本的代理守护程序,包括 2.164.8 和 2.165.0,但无济于事。我还检查了我不受 DevOps 中并行作业的最大数量的限制。
【问题讨论】:
-
我怀疑代理缺少运行作业的功能,请尝试调查
-
代理可以运行更复杂的构建,所以我觉得奇怪的是它缺少这样一个简单构建的能力。
-
好吧,您需要确定是什么阻碍了构建。通常是能力。这不是复杂与简单的问题。您的构建可能附加了任意capability
-
您是否检查过当前默认代理池中有多少个代理?如果池中既有旧代理也有新代理,我们无法确保它会为我们选择新版本代理来运行作业。 (我曾经在使用一个相当老的代理 16.3 版本时遇到过类似的问题)。我认为您可以创建一个新代理池并在该池中注册一个新代理,然后在您的 yaml 中指定使用新代理池。结果如何?
标签: azure-devops yaml azure-pipelines azure-pipelines-yaml