2014-01-14 10 views
4

사이에 신뢰가없는 두 개의 Windows 도메인이 있습니다. 메인 도메인에는 간단한 TFS 서버 2013 설정이 있고 개발 도메인에는 추가 빌드 에이전트를 설정하고 싶습니다. 이 빌드 에이전트는 TFS 시스템의 기존 빌드 컨트롤러에 추가됩니다 (TFS 시스템에는 이미 단일 빌드 컨트롤러 및 에이전트가 포함되어 있음).별도의 도메인에있는 다른 컴퓨터에 TFS 2013 빌드 에이전트 설치

지금까지 동일한 로컬 사용자 계정을 TFS와 개발 시스템에 모두 추가했습니다. 즉, 두 VM 모두에 동일한 이름과 암호를 가진 섀도우 계정이 있습니다. 해당 사용자 아래에 TFS 빌드 서비스 설치 관리자를 실행 중이며 모든 구성 단계가 구성 단계에 도달 할 때까지 잘 진행됩니다.

이 단계는 실패 "TF400106 : 빌드 서비스를 등록 할 수 없습니다"로그에 다음과 같은 스택 트레이스를 :

Exception Message: User account DEV\machinename$ not found (type Exception) 
Exception Stack Trace: at Microsoft.TeamFoundation.Build.Config.BuildServiceHostUtilities.CheckServiceAccountMembership(TfsTeamProjectCollection tfsCollection, String serviceAccount) 
    at Microsoft.TeamFoundation.Build.Config.BuildServiceHostUtilities.UpdateCollectionPermissions(TfsTeamProjectCollection tfs, String userName) 
    at Microsoft.TeamFoundation.Build.Config.BuildServiceHostUtilities.UpdateAuthenticatingAccount(TfsTeamProjectCollection tfsCollection, String fromUser, Boolean canTranslateFromUser, String toUser, Boolean canTranslateToUser) 
    at Microsoft.TeamFoundation.Build.Config.BuildServiceHostUtilities.Register(IBuildServiceHost serviceHost, String serviceAccount, String serviceAccountPassword, X509Certificate2 serverCertificate, String authenticatingUserName, Boolean canTranslateAuthenticatingUserName) 
    at Microsoft.TeamFoundation.Admin.TeamBuildInstaller.RegisterWithApplicationServer(IAuthenticatedCollectionProvider authenticatedConnectionProvider, IBuildServiceHost host, String collectionUri, Int32 port, AccountInfo serviceAccount, AccountInfo authenticatingAccount, Boolean useHttps, BuildControllerOptions controllerOptions, List`1 agentListOptions, Boolean cleanOldResources, String certificateThumbprint, Boolean requireClientCertificates, ITFLogger logger) 
    at Microsoft.TeamFoundation.Admin.ConfigureRegisterBuild.Run(ActivityContext context) 

그 스택 트레이스가 무엇을 의미합니까? 그리고이 설정이 작동 할 기회가 있습니까? 웹에서 잘 읽지는 못했지만 몇 가지 성공 사례가 있습니다.

+0

은 "Dev"도메인의 컴퓨터입니까? – Oswald

+0

예, "개발"도메인은 우리 개발 도메인입니다. stacktrace는 "Dev"도메인 내의 시스템에서 가져옵니다. – Vincent

+0

이 (가)이 사용자 계정이 있습니까? 구성 마법사에서 또는 나중에 Team Foundation Server 관리 콘솔의 BuildConfiguration에서 useraccount를 지정할 수 있습니다. – Oswald

답변

3

위의 내용이 실제로 가능하지만 몇 가지 해킹 만 있습니다. 먼저 "아래 서비스를 실행할 계정"을 요구하는 지점에 도메인 계정을 입력하여 설치를 실행해야합니다. 마법사가 DEV 도메인의 도메인 계정에 만족하고 완료됩니다. 도메인 계정은 Dev 도메인의 계정이고 주 도메인에는 해당 계정이 없습니다.

이 시점에서 이벤트 로그에 "액세스 권한이 없습니다 ..."라는 오류 메시지가 표시됩니다. 이제 해킹이 시작됩니다. 서비스 콘솔 (시작 -> 실행 -> services.msc)로 이동하여 섀도우 계정 (예 : 로컬 계정)에 대한 "Visual Studio TFS Build Service Host 2013"서비스의 "다음 계정으로 로그온"계정을 수동으로 변경해야합니다 같은 이름과 암호로 빌드 서버와 TFS 서버에 존재하는). 서비스가 다시 시작 되려면 서비스를 다시 시작해야합니다. 이렇게하면 이벤트 로그에 오류가 표시되지 않습니다.

마지막으로 TFS 관리 콘솔로 이동하여 에이전트를 추가 할 수 있습니다. 이제는 빌드를 보낼 수 있어야합니다.

TFS 관리 콘솔을 통해 계정을 구성 할 수없는 이유는 "Connect to TFS as"에서 로컬 계정을 지정할 수 없기 때문입니다. 이것은 물론 일반적으로 지역 계정이 상자 외부에서 인식되지 않으므로 의미가 있습니다. "Windows 서비스와 동일한 ID 사용"확인란이 기본적으로 선택되어 있으므로 "서비스로 로그온"계정으로 지정된 계정을 사용합니다.

나는 이것이 심각한 머리를 긁어 내고 누군가를 구 해주길 바랍니다.

+0

좋은 해결책! 여기서 유일한 것은 네트워크 서비스 계정으로 서비스를 등록 할 수 없다는 것입니다. 오류는 다음과 같습니다. User not found domain \ machine $ –

+0

감사합니다. 위의 대답에서 실수를했습니다. 마법사에서 DEV 도메인 계정을 사용하여 결국 "서비스를 실행하는 계정"을 묻습니다. 네트워크 서비스가 실제로 작동하지 않았습니다. – Vincent

+0

이 솔루션이 업데이트 2로 변경되면 궁금한 점이 있습니까? DEV 도메인 계정을 입력하면 "사용자 계정 DEV \ devuser을 (를) 찾을 수 없습니다"라는 오류 메시지가 나타나며 해당 오류를 지나칠 수 없습니다. 오류가 주 도메인의 TFS 서버에서 오는 것으로 가정합니다 ... –

관련 문제