TFS 2017代理错误(与服务器的通信丢失)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了TFS 2017代理错误(与服务器的通信丢失)相关的知识,希望对你有一定的参考价值。

我在Windows Server 2008 R2虚拟机上安装了TFS2017。是的,这是一个奇怪的组合,但它就是它。

我也在同一个虚拟机上安装了代理(vsts-agent-win7-x64-2.117.2)。代理已成功安装为服务,它已启动并运行,我可以在默认池中看到它(显示为在线,空闲)。

当我请求新构建时,问题就开始了。它始终失败并出现错误:

代理程序代理3与服务器失去通信。验证计算机是否正在运行且网络连接是否正常。有关更多信息,请参阅:https://go.microsoft.com/fwlink/?linkid=846610

我还检查了_diag文件夹中的日志:

[2018-02-27 09:33:48Z INFO JobDispatcher]重试jobrequest的锁更新9.作业仍然锁定:10秒。 [2018-02-27 09:33:58Z ERR JobDispatcher]在续订代理作业请求期间捕获异常9. [2018-02-27 09:33:58Z ERR JobDispatcher] Microsoft.VisualStudio.Services.WebApi.VssServiceResponseException:在Microsoft找不到Microsoft.VisualStudio.Services.WebApi.VssHttpClientBase.d__48.MoveNext()中的.VisualStudio.Services.WebApi.VssHttpClientBase.HandleResponse(HttpResponseMessage响应)---从抛出异常的上一个位置的堆栈跟踪结束---在System。 System.Runtime.CompilerServices.ConfiguredTaskAwaitable1.ConfiguredTaskAwaiter.GetResult() at Microsoft.VisualStudio.Services.WebApi.VssHttpClientBase.<SendAsync>d__451.MoveNext()处的System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务任务)中的Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()---从抛出异常的上一个位置开始的堆栈跟踪结束 - - System.Runtime.CompilerServices.ConfiguredTa上的System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务任务)中的System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() skAwaitable1.ConfiguredTaskAwaiter.GetResult() at Microsoft.VisualStudio.Services.WebApi.VssHttpClientBase.<SendAsync>d__271.MoveNext()---从抛出异常的先前位置开始的堆栈跟踪结束---在系统的System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务任务)的System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()处.Runtime.CompilerServices.ConfiguredTaskAwaitable1.ConfiguredTaskAwaiter.GetResult() at Microsoft.VisualStudio.Services.WebApi.VssHttpClientBase.<SendAsync>d__261.MoveNext()---抛出异常的前一个位置的堆栈跟踪结束---在System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification的System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()处Microsoft.VisualStudio.Services.Agent.Listener.JobDispatcher.d__12.MoveNext()[2018-02-27 09:33:58Z INFO JobDispatcher]锁定续订已用完重试,停止对jobrequest 9的续订锁定。 [2018-02-27 09:33:58Z INFO JobDispatcher]第一次无法更新作业请求88ba8e32-bdca-402c-8a94-d1e39f95819b,停止将作业分派给工作人员。

似乎代理无法因某种原因更新作业队列中的项目。

我检查了防火墙 - 它关闭了,而且TFS和代理安装在同一台机器上。

有任何想法吗?

更新。

服务截图:

enter image description here

我尝试创建在不同用户下运行的不同代理 - NETWORK服务或当前用户,它们已登录到TFS。另外,我总是检查服务是否已启动。

更新2。

我尝试在同一网络中的另一台虚拟机上安装另一个代理。它已安装并出现在默认池中。但是当它构建时,会发生同样的错误。顺便说一句,另一个虚拟机在Windows Server R2下工作。

答案

哇,

那是一场真正的噩梦。但它终于解决了。

该问题的根源是一个名为UrlScan的工具。它安装在服务器上,默认情况下会阻止除GET / POST / OPTIONS之外的所有http动词。

启用所有已知的动词没有帮助,因为似乎Agent使用一些自定义的http标头。唯一的方法是完全卸载UrlScan。

祝好运。

以上是关于TFS 2017代理错误(与服务器的通信丢失)的主要内容,如果未能解决你的问题,请参考以下文章

TFS 2017 - 从 TFS 服务器而不是代理运行 powershell 脚本

TFS Server 2017 自动化部署步骤

如何在 TFS Linux 代理中下载工件?

为啥 TFS 代理没有发现 VSTEST 功能

使用 TFS 2017 BuildAgent 构建解决方案时出现错误 CS0234

构建失败并在 TFS 中出现 COMPILETODALVIK 错误,但它在我的本地计算机中正确构建