我在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:Not Found 在Microsoft.VisualStudio.Services.WebApi.VssHttpClientBase.HandleResponse(HttpResponseMessage响应) 在Microsoft.VisualStudio.Services.WebApi.VssHttpClientBase.d__48.MoveNext() ---从抛出异常的先前位置开始的堆栈跟踪结束--- 在System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() 在System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务任务) 在System.Runtime.CompilerServices.ConfiguredTaskAwaitable
1.ConfiguredTaskAwaiter.GetResult() at Microsoft.VisualStudio.Services.WebApi.VssHttpClientBase.<SendAsync>d__45
1.MoveNext() ---从抛出异常的先前位置开始的堆栈跟踪结束--- 在System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() 在System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务任务) 在System.Runtime.CompilerServices.ConfiguredTaskAwaitable1.ConfiguredTaskAwaiter.GetResult() at Microsoft.VisualStudio.Services.WebApi.VssHttpClientBase.<SendAsync>d__27
1.MoveNext() ---从抛出异常的先前位置开始的堆栈跟踪结束--- 在System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() 在System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务任务) 在System.Runtime.CompilerServices.ConfiguredTaskAwaitable1.ConfiguredTaskAwaiter.GetResult() at Microsoft.VisualStudio.Services.WebApi.VssHttpClientBase.<SendAsync>d__26
1.MoveNext() ---从抛出异常的先前位置开始的堆栈跟踪结束--- 在System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() 在System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务任务) 在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下运行。
答案 0 :(得分:0)
哇,
那是一场真正的噩梦。但它终于解决了。
问题的根源是名为UrlScan的工具。它安装在服务器上,默认情况下会阻止除GET / POST / OPTIONS之外的所有http动词。
启用所有已知动词并没有帮助,因为似乎Agent使用了一些自定义http标头。唯一的方法是完全卸载UrlScan。
祝你好运。