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.ConfiguredTaskAwaitable
1.ConfiguredTaskAwaiter.GetResult() at Microsoft.VisualStudio.Services.WebApi.VssHttpClientBase.<SendAsync>d__45
1.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__27
1.MoveNext()---从抛出异常的先前位置开始的堆栈跟踪结束---在系统的System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务任务)的System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()处.Runtime.CompilerServices.ConfiguredTaskAwaitable1.ConfiguredTaskAwaiter.GetResult() at Microsoft.VisualStudio.Services.WebApi.VssHttpClientBase.<SendAsync>d__26
1.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和代理安装在同一台机器上。
有任何想法吗?
更新。
服务截图:
我尝试创建在不同用户下运行的不同代理 - NETWORK服务或当前用户,它们已登录到TFS。另外,我总是检查服务是否已启动。
更新2。
我尝试在同一网络中的另一台虚拟机上安装另一个代理。它已安装并出现在默认池中。但是当它构建时,会发生同样的错误。顺便说一句,另一个虚拟机在Windows Server R2下工作。
哇,
那是一场真正的噩梦。但它终于解决了。
该问题的根源是一个名为UrlScan的工具。它安装在服务器上,默认情况下会阻止除GET / POST / OPTIONS之外的所有http动词。
启用所有已知的动词没有帮助,因为似乎Agent使用一些自定义的http标头。唯一的方法是完全卸载UrlScan。
祝好运。
以上是关于TFS 2017代理错误(与服务器的通信丢失)的主要内容,如果未能解决你的问题,请参考以下文章
TFS 2017 - 从 TFS 服务器而不是代理运行 powershell 脚本