2

我有一个正在运行的构建机器的问题,代理突然不想启动。如果启动本地控制器,它是遥控器的一部分,用于解决此问题。症状是,代理初始化正确(显示“就绪”),但图标已停止,并且状态区域显示“BuildController 在 1 分钟内未启动。运行构建服务的 AD 帐户在另一台构建机器上工作(单独的控制器 + 构建代理)。我试过以下

  • 重新安装构建服务
  • 使用机器名、完全限定域名和端点地址的 IP 地址运行
  • 未注册和重新注册的构建服务
  • 重新启动
  • 使用脚本清理构建代理注册

如果我将运行构建服务的服务帐户更改为我自己的 AD 帐户,它就可以工作。但是,在我们的专用构建用户下运行会在这台特定的机器上失败,而在另一台机器上则不会。有什么建议该怎么做吗?这是事件日志中的错误:

Service 'Default Agent - tfs2010build1' had an exception: 
Exception Message: There was no endpoint listening at http://tfs2010build1:9191/Build/v3.0/Services/Controller/31 that could accept the message. This is often caused by an incorrect address or SOAP action. See InnerException, if present, for more details. (type EndpointNotFoundException)

Exception Stack Trace: 
Server stack trace: 
   at System.ServiceModel.Channels.HttpOutput.WebRequestHttpOutput.GetOutputStream()
   at System.ServiceModel.Channels.HttpOutput.Send(TimeSpan timeout)
   at System.ServiceModel.Channels.HttpChannelFactory.HttpRequestChannel.HttpChannelRequest.SendRequest(Message message, TimeSpan timeout)
   at System.ServiceModel.Channels.RequestChannel.Request(Message message, TimeSpan timeout)
   at System.ServiceModel.Channels.ServiceChannel.Call(String action, Boolean oneway, ProxyOperationRuntime operation, Object[] ins, Object[] outs, TimeSpan timeout)
   at System.ServiceModel.Channels.ServiceChannelProxy.InvokeService(IMethodCallMessage methodCall, ProxyOperationRuntime operation)
   at System.ServiceModel.Channels.ServiceChannelProxy.Invoke(IMessage message)

Exception rethrown at [0]: 
   at System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg)
   at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type)
   at Microsoft.TeamFoundation.Build.Machine.IBuildControllerService.TestConnectionFromController(String agentUri)
   at Microsoft.TeamFoundation.Build.Machine.ServiceProxies.ServiceProxy`1.<>c__DisplayClass3.<Do>b__2(T channel)
   at Microsoft.TeamFoundation.Build.Machine.ServiceProxies.ServiceProxy`1.Do[TResult](Func`2 action)
   at Microsoft.TeamFoundation.Build.Machine.BuildAgentService.<>c__DisplayClass12.<TestConnection>b__11(Object )

Inner Exception Details:

Exception Message: Unable to connect to the remote server (type WebException)
Exception Stack Trace:    at System.Net.HttpWebRequest.GetRequestStream(TransportContext& context)
   at System.Net.HttpWebRequest.GetRequestStream()
   at System.ServiceModel.Channels.HttpOutput.WebRequestHttpOutput.GetOutputStream()

Inner Exception Details:

Exception Message: No connection could be made because the target machine actively refused it 127.0.0.1:38742 (type SocketException)

Exception Stack Trace:    at System.Net.Sockets.Socket.DoConnect(EndPoint endPointSnapshot, SocketAddress socketAddress)
   at System.Net.ServicePoint.ConnectSocketInternal(Boolean connectFailure, Socket s4, Socket s6, Socket& socket, IPAddress& address, ConnectSocketState state, IAsyncResult asyncResult, Int32 timeout, Exception& exception)
4

2 回答 2

1

当我被迫手动停止构建时,代理经常会遇到同样的问题。我无法为此找到任何体面的解决方案。

于 2012-04-25T18:51:12.837 回答
1

发现了问题。在 IE 选项下启用了代理服务器。不知道为什么构建服务在我的 AD 用户帐户而不是专用构建用户下工作,但它解决了问题。

---->>>>>更新!

所以我们有 2 台机器(B1 和 B2),每台都有 2 个代理。B1 有最初的问题,通过禁用 IE 下的代理设置来解决。昨天 B2 突然开始在 2 个代理上显示相同的症状和错误消息。代理设置未启用。虽然它确实修复了 B1,但它并不是这个特定问题的通用解决方案。保持这些构建代理运行是一项艰苦的工作 :( - TeamCity 小姐......

---->>>>再次更新!所以昨天看代理配置的时候,没有设置。然而今天早上复选框被选中。禁用代理,代理上线。很奇怪的行为!想知道 Windows 更新是否会更改这些设置...

于 2012-04-10T13:45:52.323 回答