TFS 2015 - 发布经理未能部署

时间:2017-02-09 19:28:44

标签: tfs tfs2015 ms-release-management

我正在尝试设置我们的TFS2015实例以使用发布管理器来构建和部署。我们的TFS环境设置如下:

  • (这三个中的每一个都是自己的服务器。)
  • TfsServer
  • TfsBuildControler
  • TfsBuildAgent

我们在配置为作为服务运行的TfsBuidAgent上安装了Release Manager代理。我们每个都有一个代理用于构建和发布。我们的构建工作正常。我们的部署立即失败。该版本的日志为空,仅表示发布失败。在TfsBuildAgent上,我找到了我们安装的代理的日志,其中包含以下异常:

 23:46:15.012149 Sending trace output to log files: C:\Install Files\agent\_diag
23:46:15.012149 vsoWorker.exe was run with the following command line:
"C:\Install Files\agent\agent\worker\vsoWorker.exe"  /name:Worker-64eb077e-efad-4092-a396-ae8a3854583c /id:64eb077e-efad-4092-a396-ae8a3854583c /rootFolder:"C:\Install Files\agent" /logger:Forwarding,1.0.0;Verbosity=Diagnostic,Name=Agent2-965ab608b756d5140aba25dadafb30d7;JobId=64eb077e-efad-4092-a396-ae8a3854583c
23:46:15.012149 VsoWorker.Main(): Create AgentLogger
23:46:15.012149 VsoWorker.Main(): Parse command line
23:46:15.027765 VsoWorker.Main(): Setup Agent
23:46:15.027765 VsoWorker.LoadSettings()
23:46:15.121514 SettingsFileHelper.Load - settings[AutoUpdate]=True
23:46:15.121514 SettingsFileHelper.Load - settings[RootFolder]=C:\Install Files\agent
23:46:15.121514 SettingsFileHelper.Load - settings[WorkFolder]=E:\Agent
23:46:15.121514 SettingsFileHelper.Load - settings[ServerUrl]=http://[OurTfsServer]/tfs
23:46:15.121514 SettingsFileHelper.Load - settings[AgentName]=Agent-[OurBuildAgent]
23:46:15.121514 SettingsFileHelper.Load - settings[PoolId]=2
23:46:15.121514 SettingsFileHelper.Load - settings[PoolName]=Dev Build Pool
23:46:15.121514 SettingsFileHelper.Load - settings[AgentId]=9
23:46:15.121514 SettingsFileHelper.Load - settings[RunAsWindowsService]=True
23:46:15.121514 SettingsFileHelper.Load - settings[WindowsServiceName]=vsoagent.[OurTfsServer].Agent-[OurBuildAgent]
23:46:15.121514 SettingsFileHelper.Load - settings[WindowsServiceDisplayName]=VSO Agent ([OurTfsServer]Agent-[OurBuildAgent])
23:46:15.121514 AgentWorkerIPCListener(jobId = 64eb077e-efad-4092-a396-ae8a3854583c)
23:46:15.121514 AgentWorkerIPCListener.Pipename = net.pipe://localhost/64eb077e-efad-4092-a396-ae8a3854583c
23:46:15.137140 VsoWorker.Main(): Run Agent
23:46:15.184015 AgentWorkerIPCListener.Listen() - opening host
23:46:15.355902 AgentWorkerIPCListener.Listen() - waiting for shutdown
23:46:15.480890 AgentWorkerIPCService.Connect
23:46:15.496515 AgentWorkerIPCService.StartJob - firing StartJob event
23:46:15.496515 AgentWorkerIPCService.Disconnect
23:46:16.246515 ForwardingWriter.Initialize(6)
23:46:16.246515 ForwardingWriter.Initialize() - namedpipe = net.pipe://localhost/Agent2-965ab608b756d5140aba25dadafb30d7
23:46:16.371513 System.ServiceModel.EndpointNotFoundException: There was no endpoint listening at net.pipe://localhost/Agent2-965ab608b756d5140aba25dadafb30d7 that could accept the message. This is often caused by an incorrect address or SOAP action. See InnerException, if present, for more details. ---> System.IO.PipeException: The pipe endpoint 'net.pipe://localhost/Agent2-965ab608b756d5140aba25dadafb30d7' could not be found on your local machine.
   --- End of inner exception stack trace ---

 Server stack trace: 
   at System.ServiceModel.Channels.PipeConnectionInitiator.GetPipeName(Uri uri, IPipeTransportFactorySettings transportFactorySettings)
   at System.ServiceModel.Channels.NamedPipeConnectionPoolRegistry.NamedPipeConnectionPool.GetPoolKey(EndpointAddress address, Uri via)
   at System.ServiceModel.Channels.CommunicationPool`2.TakeConnection(EndpointAddress address, Uri via, TimeSpan timeout, TKey& key)
   at System.ServiceModel.Channels.ConnectionPoolHelper.EstablishConnection(TimeSpan timeout)
   at System.ServiceModel.Channels.ClientFramingDuplexSessionChannel.OnOpen(TimeSpan timeout)
   at System.ServiceModel.Channels.CommunicationObject.Open(TimeSpan timeout)
   at System.ServiceModel.Channels.ServiceChannel.OnOpen(TimeSpan timeout)
   at System.ServiceModel.Channels.CommunicationObject.Open(TimeSpan timeout)
   at System.ServiceModel.Channels.ServiceChannel.CallOpenOnce.System.ServiceModel.Channels.ServiceChannel.ICallOnce.Call(ServiceChannel channel, TimeSpan timeout)
   at System.ServiceModel.Channels.ServiceChannel.CallOnceManager.CallOnce(TimeSpan timeout, CallOnceManager cascade)
   at System.ServiceModel.Channels.ServiceChannel.EnsureOpened(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.DistributedTask.Agent.Logger.INetPipeWriter.Connect(Guid jobId)
   at Microsoft.TeamFoundation.DistributedTask.Agent.Logger.ForwardingWriter.Initialize(Dictionary`2 writerParameters)
   at Microsoft.TeamFoundation.DistributedTask.Agent.Worker.Common.LoggerHelper.LoadLogWriter(String rootFolder, String typeName, String version, Dictionary`2 writerParameters)
   at Microsoft.TeamFoundation.DistributedTask.Worker.Worker.Run()
23:46:16.371513 AgentWorkerIPCListener.Listen() - closing
23:46:16.418389 AgentWorkerIPCListener.Listen() - closed
23:46:16.418389 BaseLogger.Dispose()

为什么我应该在多个服务器之间进行通信时收到localhost错误?这个配置在哪里我可以改变吗? (我已经看过了,也找不到任何可以做到这一点的配置。)我怀疑它试图找到的管道是基于我们在这里研究的TFS记录服务,但我也找不到它在哪里。

1 个答案:

答案 0 :(得分:1)

进一步检查问题是我们为发布安装的代理已损坏,或者我们在配置中出错了一些。重新安装代理解决了我们的问题,并允许发布进展到完成发布的实际步骤。作为故障排除步骤,我们通过将版本切换为使用我们知道处于良好工作状态的代理来将问题隔离到代理,因为它已经处理了流程的构建部分。