2017-02-09 5 views
1

릴리스 관리자를 사용하여 빌드하고 배포하도록 TFS2015 인스턴스를 설정하려고합니다. 우리는 우리의 TFS 환경 설정을 가지고 : TFS 2015 - 배포 관리자가 실패했습니다.

  • 가 (이 세 가지의 각각은 자신의 서버입니다.)
  • TfsBuildControler
  • TfsBuildAgent

우리는 릴리스 관리자 에이전트를 설치 TfsServer

  • 서비스로 실행되도록 구성된 TfsBuidAgent 우리는 빌드와 릴리스를 위해 각각 하나의 에이전트를 가지고 있습니다. 빌드가 정상적으로 작동합니다. 우리의 배포가 즉시 실패합니다. 릴리스의 로그는 비어 있으며 릴리스가 실패했음을 나타냅니다. 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 로깅 서비스에 대한 것입니다. 그러나 그 파이프가 어디에 있든 찾을 수는 없습니다.

  • +0

    에이전트가 실행중인 컴퓨터에'Named Pipe Activation'을 활성화/설치 했습니까? 이것은 net.pipe 바인딩을 사용하기 위해 필요합니다. – Toomaja

    +0

    @Toomaja, 예, Chris가 아래에서 말한대로 설치했습니다. – Ischade

    +0

    에이전트 풀 관리 페이지에서 해당 에이전트에 대한 녹색 표시등이 나타 납니까? –

    답변

    1

    추가 검토 결과, 릴리스에 대해 설치 한 에이전트가 손상되었거나 구성 오류가 발생했습니다. 에이전트를 다시 설치하면 문제가 해결되고 릴리스가 실제 릴리스 단계를 완료 할 수있게됩니다. 문제 해결 단계에서 우리는 프로세스의 빌드 부분을 처리 할 때 알았던 에이전트를 사용하도록 릴리스를 전환하여 에이전트에 문제를 격리 시켰습니다.