Microsoft MVP성태의 닷넷 이야기
Team Foundation Server: 7. 외부 빌드 머신 구성 [링크 복사], [링크+제목 복사],
조회: 18246
글쓴 사람
정성태 (techsharer at outlook.com)
홈페이지
첨부 파일
 


환경 : Single-server TFS



사실, TFS 서버를 한 대의 머신에 설치하는 것은 여러모로 바람직하지는 않습니다.
왜냐하면, SQL Server와 TFS 서버가 함께 있음으로 인한 부하를 무시할 수는 없기 때문입니다. TFS 서버를 SourceSafe처럼 쓰시는 분들도 계실 텐데, 느끼시겠지만 소스 세이프 보다는 많이 느리죠.

MS도 그 "느리다"는 것을 인지했기 때문에 "TFS Proxy"까지 만들게 되었을 것입니다. (Proxy라고 해서 Front-end HTTP 웹 서버에서 Back-end TFS 서버로 요청을 중계해 주는 것이라고 생각하실 수 있는데, TFS Proxy는 그러한 역할을 하지 않고 "Source Control"을 좀 더 빠르게 해주는 캐쉬기능을 담당합니다.)

아키텍트적으로 굳이 큰 그림을 그려 본다면 TFS 서비스를 원활하게 구동시키기 위해서는 아래와 같이 5대 정도의 컴퓨터가 필요할 수 있습니다.

인증 서버 : Active Directory
TFS Server - Application Tier
SQL Server - Data Tier
Proxy Server - TFS Proxy
Build Server - TFS Build Machine

하지만, 공부를 목적으로 하거나 회사에서의 소규모 테스트를 위한 용도로는 다음과 같은 구성이 일반적일 것입니다.

인증 서버 : AD
TFS Server - App Tier + Data Tier + Build

물론, 최소 구성요소는 TFS Server이지만 가능한 AD 서버를 두고 TFS 서버(Single-Server 일지라도)를 그에 참여시키는 것을 권장합니다.



자, 이제 Single-server로 구성을 하긴 했지만, 조금 쓰다보면 1GB 메모리를 소모해버리는 TFS 서버에서 Build까지 하도록 하는 것은 너무 가혹하다는 생각을 하게 됩니다. ^^ 더군다나, 이제 TFS 서버는 단순한 빌드만을 하는 용도가 아니라, Debug/Release 산출물은 물론이고 Unit Test, Symbol 서버, Code Analysis, 최종 제품으로의 셋업 Setup 과정까지 담당하게 되니, 당장은 아니더라도 언젠가는 Build server를 별도로 두고 싶어질 것입니다.

그럼, 어떻게 Build Machine을 구성할 수 있을까요? 천천히 따라해 보도록 하겠습니다.

1. Build를 수행할 컴퓨터에 TFS CD의 "\build" 폴더에서 setup.exe를 실행시켜서 빌드 서비스를 설치합니다. 이때의 빌드 서비스 구동 계정은 AD에 참여 시킨 계정으로 해줍니다.

2. Team Project에서 새로운 Team Build를 생성하는 과정에서 Build Service를 설치한 컴퓨터를 지정해 줍니다. [아래 그림 참조]

원격 빌드 컴퓨터를 지정

3. "인터넷으로 Team Server 접근"에서 설명했던 것처럼, 빌드 서비스가 구성된 원격지 컴퓨터의 환경 설정을 수정해 주어야 합니다. 즉, Build Service로 하여금 어떤 PC가 TFS Server인지를 알 수 있도록 해주어야 하는데, 해당 PC의 다음과 같은 환경 구성 값을 수정해 주시면 됩니다.

--- 변경 전 -----
    <!-- AllowedTeamServer
         This is the Team Foundation Server Application Tier that can connect
         to this build machine.
        -->
    <add key="AllowedTeamServer" value="" />

--- 변경 후 -----
    <add key="AllowedTeamServer" value="TFS 접근 URL 주소" />
예를 들어,
    <add key="AllowedTeamServer" value="https://www.sysnet.pe.kr:8070/" />

자, 이제 모든 설정은 마무리 되었습니다. Team Explorer에서 해당 Team Build를 선택해서 Build 명령을 내리면 원격지 컴퓨터에서 빌드 작업이 실행되게 됩니다.






[최초 등록일: ]
[최종 수정일: 7/10/2021]

Creative Commons License
이 저작물은 크리에이티브 커먼즈 코리아 저작자표시-비영리-변경금지 2.0 대한민국 라이센스에 따라 이용하실 수 있습니다.
by SeongTae Jeong, mailto:techsharer at outlook.com

비밀번호

댓글 작성자
 




... 121  122  123  124  125  [126]  127  128  129  130  131  132  133  134  135  ...
NoWriterDateCnt.TitleFile(s)
2905정성태4/27/201521963오류 유형: 280. HttpResponse.Headers.Add에서 "System.PlatformNotSupportedException: This operation requires IIS integrated pipeline mode." 예외 발생
2904정성태4/27/201527209DDK: 6. ZwTerminateProcess로 프로세스를 종료하는 Device Driver 프로그램 [2]파일 다운로드1
2903정성태4/20/201520587Windows: 110. (무료) 마이크로소프트 온라인 강좌 소개 - Azure에서 제공하는 계정 관리 서비스
2902정성태4/16/201526557Windows: 109. (무료) 마이크로소프트 온라인 강좌 소개 - Active Directory 이해
2901정성태4/15/201523195Windows: 108. (무료) 마이크로소프트 온라인 강좌 소개 - Windows Server 2012 R2 주요 기술 (Hyper-V 관점)
2900정성태3/24/201522257오류 유형: 279. robocopy 오류 - The file cannot be accessed by the system [4]
2899정성태3/24/201530440개발 환경 구성: 264. Visual Studio 2013 솔루션을 2015로 마이그레이션
2898정성태3/24/201521069개발 환경 구성: 263. SharePoint 2013을 Windows Server 2012 R2에 설치
2897정성태3/18/201519689오류 유형: 278. LoadLibrary("...") failed - Invalid access to memory location.
2896정성태3/18/201519818VC++: 90. Visual Studio 2013에서 Visual Basic 6용 ATL Control 제작
2895정성태3/18/201522894VC++: 89. Visual Studio 2015 - auto 반환 타입 및 thread_local 예약어 지원(C++ 11 표준) [2]
2894정성태3/18/201521079.NET Framework: 509. ELEMENT_TYPE_MODIFIER의 조합
2893정성태3/18/201521134오류 유형: 277. command line error MIDL1004: cannot execute C preprocessor cl.exe
2892정성태3/17/201526023오류 유형: 276. robocopy - Logon failure: unknown user name or bad password.
2891정성태3/17/201542164개발 환경 구성: 262. Visual Basic 6 (Enterprise Edition)을 Windows 7 x86에 설치하는 방법 [1]
2890정성태3/17/201524505오류 유형: 275. Internet Explorer - This page can't be displayed
2889정성태3/17/201525246Windows: 107. (2015-03-12) 업데이트 이후 작업 표시줄 또는 탐색기의 반응이 느려지는 문제 [1]
2888정성태3/17/201523244.NET Framework: 508. Visual Studio 빌드 - fatal error C1033: cannot open program database ''
2887정성태3/13/201520495.NET Framework: 507. CoreFx 빌드하는 방법
2886정성태3/13/201522255오류 유형: 274. CoreFx, CoreCLR 빌드 시 "error CS0518: Predefined type 'System.Object' is not defined or imported" 오류 해결 방법
2885정성태3/13/201533545VS.NET IDE: 99. Visual Studio는 2019는 32비트, 2022부터 64비트 버전입니다. [2]
2884정성태3/12/201526843.NET Framework: 506. .NETCore = CoreFX + CoreCLR [5]
2883정성태3/10/201524017.NET Framework: 505. OpenCover 소스 코드 분석을 Visual Studio 2013에서 하는 방법 [1]
2882정성태3/10/201522901.NET Framework: 504. OpenCover 코드 커버리지 도구의 동작 방식을 통해 살펴보는 Calli IL 코드 사용법
2881정성태3/9/201523404개발 환경 구성: 261. OpenCover 오픈 소스를 이용한 .NET 코드 커버리지(Code coverage)
2880정성태3/7/201521679개발 환경 구성: 260. C# Code Coverage 도구 - Semantic Designs 소개
... 121  122  123  124  125  [126]  127  128  129  130  131  132  133  134  135  ...