2013-03-13 2 views
4

TFS 인프라에서 일부 빌드 컨트롤러 및 에이전트를 설정하려고합니다. 우리의 TFS 서버는 빌드 컨트롤러로 설정되어 있으며 몇 가지 빌드 에이전트도 설정되어 있습니다.빌드가 TFS2012에서 시작되지 않습니다.

시스템에 새 빌드를 대기열에 추가하면 모두 정상적으로 처리됩니다. 오류 메시지가 나타나지 않고 빌드가 시스템의 대기열에 나타납니다. 그러나 그 모든 것이 이제까지 발생합니다. Visual Studio에서 빌드 페이지로 이동하면 "0 초 동안 실행 중"이라고 표시됩니다. 관리자는 TFS 서버의 관리 콘솔을보고 "준비 상태"라고 표시하지만 그 이상은 없습니다. 모든 에이전트는 마찬가지로 '준비'로 나열됩니다.

이 문제를 진단하는 데 사용할 수있는 로그가 없습니다. Logging Verbosity를 'Diagnostic'으로 설정했지만 Diagnostics 드롭 다운의 옵션은 회색으로 표시됩니다. 활동도 완전히 비어 있습니다.

빌드 컨트롤러에서 데이터베이스를 보면 dbo.tbl_BuildController 테이블에 빌드가 나열됩니다. 이상한 점은 시작 시간이 NULL이라는 것입니다. VS에서 빌드를 중지하면 시작 시간과 종료 시간이 데이터베이스에서 동일한 것으로 설정됩니다.

그래서 빌드가 빌드 컨트롤러에 등록 중이며 통신 문제가 없다는 것을 알고 있습니다. 빌드가 결코 시작되지 않으며 오류가 발생하지 않습니다. 이 문제를 어떻게 해결할 수 있습니까? (또는 적어도 내가 쫓아 갈 수있는 오류를 얻는다).

편집 :이 문제는 TFS 서버와 관련된 것으로 보입니다. 다음은 이벤트 로그에서 밝혀낸 내용입니다.

WebHost failed to process a request. 
Sender Information: System.ServiceModel.ServiceHostingEnvironment+HostingManager/10411892 
Exception: System.ServiceModel.ServiceActivationException: The service '/tfs/queue/GPA/Services/v4.0/MessageQueueService2.svc' cannot be activated due to an exception during compilation. The exception message is: This collection already contains an address with scheme http. There can be at most one address per scheme in this collection. If your service is being hosted in IIS you can fix the problem by setting 'system.serviceModel/serviceHostingEnvironment/multipleSiteBindingsEnabled' to true or specifying 'system.serviceModel/serviceHostingEnvironment/baseAddressPrefixFilters'. 
Parameter name: item. ---> System.ArgumentException: This collection already contains an address with scheme http. There can be at most one address per scheme in this collection. If your service is being hosted in IIS you can fix the problem by setting 'system.serviceModel/serviceHostingEnvironment/multipleSiteBindingsEnabled' to true or specifying 'system.serviceModel/serviceHostingEnvironment/baseAddressPrefixFilters'. 
Parameter name: item 
    at System.ServiceModel.UriSchemeKeyedCollection.InsertItem(Int32 index, Uri item) 
    at System.Collections.Generic.SynchronizedCollection1.Add(T item) 
    at System.ServiceModel.UriSchemeKeyedCollection..ctor(Uri[] addresses) 
    at System.ServiceModel.ServiceHost..ctor(Type serviceType, Uri[] baseAddresses) 
    at System.ServiceModel.Activation.ServiceHostFactory.CreateServiceHost(Type serviceType, Uri[] baseAddresses) 
    at System.ServiceModel.Activation.ServiceHostFactory.CreateServiceHost(String constructorString, Uri[] baseAddresses) 
    at System.ServiceModel.ServiceHostingEnvironment.HostingManager.CreateService(String normalizedVirtualPath, EventTraceActivity eventTraceActivity) 
    at System.ServiceModel.ServiceHostingEnvironment.HostingManager.ActivateService(ServiceActivationInfo serviceActivationInfo, EventTraceActivity eventTraceActivity) 
    at System.ServiceModel.ServiceHostingEnvironment.HostingManager.EnsureServiceAvailable(String normalizedVirtualPath, EventTraceActivity eventTraceActivity) 
    --- End of inner exception stack trace --- 
    at System.ServiceModel.ServiceHostingEnvironment.HostingManager.EnsureServiceAvailable(String normalizedVirtualPath, EventTraceActivity eventTraceActivity) 
    at System.ServiceModel.ServiceHostingEnvironment.EnsureServiceAvailableFast(String relativeVirtualPath, EventTraceActivity eventTraceActivity) 
Process Name: w3wp 
Process ID: 3756 

답변

3

이벤트 로그를 살펴볼 것입니다.

  1. 제어판 -> 관리 도구는
  2. 이벤트 뷰어

내가 거기에 나오는 어떤 종류 또는 오류가있을 것이라고 가정하고있다. 빌드 에이전트가 다른 시스템에 있으면 이벤트 로그를 확인하십시오. 원래 포스터에서

업데이트 여기까지 우리를 가리키는 이벤트 로그에서 예외가

있었다 코멘트 : TFS2012 Build Service offline

+0

당신을 버전 4.1으로 재설정 다른 포트 번호

  • 설정 실제로 TFS 서버에 오류가 발생했습니다. "컴파일 중 예외로 인해 '/tfs/queue/GPA/Services/v4.0/MessageQueueService2.svc'서비스를 활성화 할 수 없습니다 예외 메시지 :이 컬렉션에는 이미 구성표 http가 포함 된 주소가 있습니다. 이 컬렉션에있는 구성표 당 하나의 주소가 가장 많습니다. " – Andrew

  • +0

    여기를 참고하십시오 : http : //stackoverflow.com/questions/15378001/tfs2012-build-service-offline/15378482#15378482 – gregpakes

    +1

    여러 바인딩을 허용하기보다는 이전에 추가 된 잘못된 바인딩을 제거했습니다. 이 문제는 해결 된 것으로 보입니다. 고마워요! – Andrew

    3

    build service properties에 사용되는 사용자의 security 설정을 확인 이동합니다. 거의 동일한 문제가 있었는데 갑자기 더 이상 빌드 할 수없는 특정 사용자의 보안 설정을 변경했기 때문입니다.

    당신의 TFS 서버에
    1. 이동을
    2. 열기은 Team Foundation Server 관리 콘솔
    3. 열기 빌드 구성
    4. 빌드 서비스의
    5. 열기 속성
    +1

    비슷한 문제가 있었지만 빌드 서비스가 잘못된 프로젝트 컬렉션을 사용하도록 설정되었습니다. –

    +0

    와우! 감사! – Shiv

    0

    :

    사용자를 찾으려면 빌드 컨트롤러와 에이전트는 동일한 버전의 Team Foundation Build를 실행해야합니다. (Buid 서비스 버전은 v4.0 또는 v4와 비슷합니다.1이고 11.0.50727.1과 같은 것이있는 tfs 제품 버전과 다릅니다.

    빌드 에이전트와 컨트롤러가 서로 다른 시스템에 배포 된 경우 두 시스템에서 빌드 서비스 버전을 확인하십시오. 그것은 동일해야합니다.

    TFS에서는 빌드 서비스 버전이 다른 빌드 컨트롤러에 빌드 에이전트를 할당 할 수 없습니다. 그러나 컨트롤러와 에이전트를 분리하지 않고 빌드 머신 중 하나를 다른 버전 (예 : Visual Studio 업데이트 2)으로 업그레이드 할 수 있습니다. 빌드 서비스 버전이 변경되지 않는 경우도 있습니다 (예 : 업데이트 2로 업그레이드 할 것을 권장). 버전 숙박 버전 4.0)이 상황에서

    당신이 빌드 서비스의 새 버전을 적용 할 경우

    빌드 서비스 버전을 확인하는 TFS 2012 또는 2013 년

    :

    1. 이동 기계를 구축하기를
    2. 오픈 팀 Foundati 서버에서 관리 콘솔
    3. 열기 빌드 구성
    4. 열기 빌드 서비스 속성에
    5. 텍스트 상자 "에 빌드 에이전트 통신을 들어"

    (등록 정보의 등록 취소 링크 옆의 링크를 클릭) 서비스를 중지 빌드 서비스 버전

    1. 의 변경 사항을 적용하는 것은
    2. 은 "C를 클릭 버튼 "hange
    3. 빌드 서비스 버전 4.0에서 변경됩니다 이전의 포트 번호를 즉시

    이 있습니다

    +0

    오늘 나는 같은 문제에 다시 갇혔다. 마지막으로 TFS 서버의 iisreset에 의해 해결됩니다. –

    관련 문제