VSTS/TFS 等待启用的代理。使用自定义任务条件时禁用所有可能的代理

Posted

技术标签:

【中文标题】VSTS/TFS 等待启用的代理。使用自定义任务条件时禁用所有可能的代理【英文标题】:VSTS/TFS Waiting for an enabled agent. All possible agents are disabled when using custom task conditions 【发布时间】:2021-05-15 18:41:48 【问题描述】:
TFS: 2017.3
Agent version: 2.112.0

我有一个非常简单的构建,只有一个 Powershell 脚本任务。所有任务都是Write-Host,它工作正常。

我正在根据以下条件测试此任务的条件执行:

and(succeeded(), eq(variables['MyVariable'], 'SomeValue'))

一旦我保存此配置并将构建排队,它就永远不会启动并显示:

Waiting for an enabled agent. All possible agents are disabled.

配置截图:

条件任务是我们升级后的一项新功能。有什么我们需要启用的吗?

谢谢

【问题讨论】:

【参考方案1】:

这个问题应该和代理版本有关,你需要下载最新的构建代理并配置它,然后用这个代理排队构建。

测试环境:

TFS 版本:2017.3

代理版本:2.122.1

构建定义:

结果:

【讨论】:

嗨@JamesD,不客气,如果这个答案有帮助,你可以接受它作为答案。因此,它可以帮助遇到相同问题的其他社区成员,我们可以存档此线程。谢谢。祝你今天过得愉快。 :) 我们昨天尝试更新构建代理,但它们仍然使用旧版本。检查服务器的事件日志显示他们从代理服务器收到 407 身份验证错误并且失败。更改服务器以绕过计划在星期一进行的身份验证检查的请求。届时将再次测试,但这似乎是问题所在。到时候我会在这里更新。谢谢 您可以查看并在此处分享结果。另外,您也可以尝试重新安装最新的代理。 您好,刚刚检查一下这个问题现在是否仍然阻碍您?这个问题有什么更新吗? 知道了。如果您对这张票有任何疑问,也可以在这里分享,我们将在这里继续为您解决问题。祝你今天过得愉快。 :)【参考方案2】:

您的构建代理版本来自 TFS 2017.1,在升级服务器 you want to schedule an agent update for your agents 之后。

我不能 100% 确定这会起作用,但您的代理版本是前置条件支持的。

【讨论】:

谢谢@jessehouwing。这是正确的,但是关于我在构建代理尝试更新时出现 407 未经身份验证的错误的问题,请参见上文。解决后,运行 Update all agents 即可解决问题。【参考方案3】:

我怀疑您已用完免费构建时间并使用托管代理。默认情况下,在 Azure DevOps 的免费层中,您可以获得 1800。

我建议检查您的“并行作业”设置,看看您是否还有剩余时间。

您可以在 Pipelines 下方的 Project Settings 中找到您的 Parallel Jobs 设置: Azure DevOps Parallel Jobs Settings

【讨论】:

我们在本地安装,但感谢您的建议。【参考方案4】:

我可能会离开这里,但您的帖子说这是一个带有单个 Powershell 任务的构建 - succeeded() 依赖于上一步的成功,对于您的示例,没有什么可以成功。

在您的场景中,我可能会尝试在它之前放置另一个具有不同 Write-Host 的 Powershell 任务,并且不对其设置任何条件,然后查看 1)构建是否找到代理并运行,以及 2)您的第二个,条件任务运行成功。

【讨论】:

succeeded() 可以放在任何地方,并在工作之前检查失败的任务。 0 个失败的任务 => 成功! 是的,我刚刚在一个简单的管道中验证了这一点。此刻,我看到了它,它似乎……关闭了。 是的,构建甚至没有开始,因为它永远不会超过“所有可能的代理都被禁用”。

以上是关于VSTS/TFS 等待启用的代理。使用自定义任务条件时禁用所有可能的代理的主要内容,如果未能解决你的问题,请参考以下文章

微软在线 VSTS/TFS 使用简介,如何删除项目,帐号,获取git地址等

如何在Bamboo任务中启用自定义bitbucket jspm注册表项?

Azure DevOps 管道“正在等待来自代理的控制台输出......”

WPF 自定义快速实现线程等待函数FastTask

我们能否挑出一条警告说“未启用 Web 浏览器 XSS 保护”并在 ZAP 代理中重新运行

带有自定义滚动条的 QML Listview