尝试将构建发送到新构建服务器后等待可用代理

Posted

技术标签:

【中文标题】尝试将构建发送到新构建服务器后等待可用代理【英文标题】:Waiting for an available agent after trying to send a build to a new Build Server 【发布时间】:2020-10-09 17:06:07 【问题描述】:

我刚刚创建了一个新的构建服务器并将其添加到现有队列中,我关闭了队列中的其他代理,以便这个新的构建服务器能够完成工作。我发送了一个非常简单的 .NET 构建,但构建窗口显示“等待可用代理”

所以我明白了,我一定错过了在构建服务器上安装的东西。因此,当提交作业时,它正在寻找能够满足“能力”的代理我如何才能看到作业需要什么能力,以便我知道它为什么会卡住?

【问题讨论】:

TFS 的版本是什么?你看过代理日志吗? TFS 2018,我忘记了代理日志,我可以查看它们。 @PatDelaney 这个问题有更新吗?您可以检查服务和运行代理的帐户。 所以我仍在尝试解决问题。如果我了解 Queues 会发生什么,这会更容易。目前我有一个配置了 6 个代理的“测试”队列。两个如果他们在线。但是当前的作业说正在等待启用的代理,所有可能的代理都被禁用。所以我猜想当代理启动时,它会在队列中注册它的功能。当作业进入队列时,将其发送给第一个满足功能的可用代理。现在看来他们都没有。那么我想看的是排队作业需要哪些能力呢? 您可以在Build Definition -> Options -> Demands 中检查构建作业所需的功能。但在TFS2018中,默认没有需求要求。 【参考方案1】:

据我所知,如果代理能力不能满足构建需求,它会在构建结果或排队时显示警告信息。

例如:

您可以尝试以下几点进行故障排除:

    导航到本地机器->服务并检查Visual Studio Team Foundation Background Job Agent是否在TFS应用层服务器上运行。

您可以启动或重新启动此服务。

    确保运行代理的帐户是Agent Pool Service Account 角色或Project Collection Build Service Accounts,并且该帐户是域帐户。

TFS2015 -> 代理池服务帐户

TFS2017 TFS2018 ->项目集合构建服务帐户

为代理服务更改另一个可用帐户,重新启动服务。

3.重新启动整个 TFS 服务器并检查是否可以解决问题。需要一些时间等待。

这里another ticket也有类似问题,可以参考一下。

希望这会有所帮助。

【讨论】:

以上是关于尝试将构建发送到新构建服务器后等待可用代理的主要内容,如果未能解决你的问题,请参考以下文章

Jenkins - 让代理等待其他代理完成

如何使用Squid服务来构建=》传统和透明代理服务器,通俗易懂!

带GUI的Java套接字客户端

Squid传统代理与透明代理构建

尝试将变更集与构建关联后,TFS构建失败

CentOS上构建squid传统代理,透明代理(squid3.4.6)