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 管道“正在等待来自代理的控制台输出......”