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

問題が見つかりました。IEオプションでプロキシサーバーが有効になりました。ビルドサービスが専用のビルドユーザーではなくADユーザーアカウントで機能した理由はわかりませんが、問題は解決しました。

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

つまり、2台のマシン(B1とB2)があり、それぞれに2つのエージェントがあります。B1には初期の問題があり、IEでプロキシ設定を無効にすることで解決しました。昨日、B2は2つのエージェントで同じ症状とエラーメッセージを突然表示し始めました。プロキシ設定が有効になっていません。B1は修正されましたが、この特定の問題に対する普遍的な解決策ではありません。これらのビルドエージェントを実行し続けるのは大変な作業です:(-MissTeamCity.. ..

---- >> >>もう一度更新してください!そのため、昨日プロキシ構成を確認したところ、設定されていませんでした。しかし今朝、チェックボックスがチェックされました。プロキシを無効にすると、エージェントがオンラインになりました。非常に奇妙な行動!WindowsUpdateがこれらの設定を変更するかどうか疑問に思います...

于 2012-04-10T13:45:52.323 に答える
1

ビルドを手動で停止せざるを得ない場合、プロキシで同じ問題が発生することがよくあります。私はこれに対するまともな解決策を見つけることができませんでした。

于 2012-04-25T18:51:12.837 に答える