TFS 2015 - 发布管理器部署失败
TFS 2015 - Release manager failing to Deploy
我正在尝试设置我们的 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()
为什么我会收到本应跨多个服务器通信的内容的本地主机错误?这是在我可以更改的地方配置的吗? (我已经看过但找不到任何可以执行此操作的配置。)根据我们在这里的研究,我怀疑它试图找到的管道是用于 TFS 日志记录服务的,但我也找不到它所在的位置。
经过进一步审查,问题是我们为发布安装的代理已损坏,或者我们在配置中出现了一些错误。重新安装代理解决了我们的问题,并允许发布进展到完成发布的实际步骤。作为故障排除步骤,我们通过将版本切换为使用我们知道处于良好工作状态的代理来将问题隔离到代理,因为它一直在处理流程的构建部分。
我正在尝试设置我们的 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()
为什么我会收到本应跨多个服务器通信的内容的本地主机错误?这是在我可以更改的地方配置的吗? (我已经看过但找不到任何可以执行此操作的配置。)根据我们在这里的研究,我怀疑它试图找到的管道是用于 TFS 日志记录服务的,但我也找不到它所在的位置。
经过进一步审查,问题是我们为发布安装的代理已损坏,或者我们在配置中出现了一些错误。重新安装代理解决了我们的问题,并允许发布进展到完成发布的实际步骤。作为故障排除步骤,我们通过将版本切换为使用我们知道处于良好工作状态的代理来将问题隔离到代理,因为它一直在处理流程的构建部分。