빌드 에이전트 배포 및 구성
Team Foundation Build를 사용하려면 팀에 프로세서가 많이 사용되는 빌드 프로세스 작업을 수행할 빌드 에이전트가 하나 이상 있어야 합니다.
각 빌드 에이전트는 단일 빌드 컨트롤러에 전용으로 사용되고 제어됩니다. 빌드 에이전트는 빌드 컨트롤러를 호스팅하는 빌드 서버와 동일한 서버에서 호스팅될 수 있지만 반드시 그래야 하는 것은 아니며, 단일 빌드 서버에서 여러 빌드 서버의 빌드 에이전트를 제어하는 빌드 컨트롤러를 호스팅하여 팀의 요구를 가장 효율적으로 충족할 수 있는 경우도 있습니다.
빌드 에이전트는 AgentScope 활동에 포함된 빌드 프로세스의 단계를 실행합니다. 일반적으로 이러한 단계에는 버전 제어에서 파일을 가져오는 작업, 작업 영역 프로비전, 코드 컴파일, 테스트 실행 및 파일을 다시 버전 제어에 병합하는 작업이 포함됩니다.
빌드 에이전트를 호스팅하는 빌드 서버에 팀 프로젝트 컬렉션에 있는 코드베이스와 테스트의 크기 및 복잡성에 맞는 충분한 저장소와 처리 기능이 있는지 확인합니다. 일반적으로 빌드 서버에서 프로세서 코어당 둘 이상의 빌드 에이전트를 호스팅해서는 안 됩니다. 단일 물리적 하드 드라이브를 각 빌드 에이전트의 작업 디렉터리에 전용으로 사용하여 성능을 향상시킬 수도 있습니다.
팁
팀 프로젝트 컬렉션이 Visual Studio Online에서 호스팅되고 단일 표준 빌드 에이전트로 팀의 요구를 충족할 수 있는 경우 사용자 지정 빌드 에이전트를 배포하지 않고 호스팅된 빌드 컨트롤러를 사용할 수 있습니다.
필요한 권한
빌드 서버에서 Windows Administrators 그룹의 멤버이고 팀 프로젝트 컬렉션에서 Project Collection Build Administrators 그룹의 멤버여야 합니다. Team Foundation Server에 대한 사용 권한 참조을 참조하십시오.
수행할 작업
빌드 에이전트 만들기 또는 수정
Visual Studio 및 기타 소프트웨어를 설치하여 컴파일과 기타 기능 사용
작업 디렉터리 지정
빌드 에이전트에서 테스트를 실행할 수 있도록 허용
빌드 에이전트 기능이나 목적을 나타내기 위해 태그 할당
빌드 에이전트 제거
빌드 에이전트 만들기 또는 수정
빌드 서버에서 빌드 에이전트를 만들거나 수정하려면
구성할 빌드 서버에 로그온합니다.
Windows 시작에서 Team Foundation 관리 콘솔을 실행합니다.
Team Foundation 관리 콘솔이 나타납니다.
Team Foundation 관리 콘솔의 트리 창에서 서버 이름을 확장하고 빌드 구성 노드를 선택합니다.
빌드 서버에 대한 정보가 콘텐츠 창에 나타납니다.
설치된 기능 구성 메시지가 나타나는 경우 빌드 서버 배포를 참조하십시오.
빌드 구성 페이지에서
새 빌드 에이전트를 만들려면 새 에이전트를 선택합니다.
기존 빌드 에이전트를 수정하려면
속성을 선택합니다.
빌드 에이전트 속성 대화 상자가 나타납니다.
Visual Studio에서 빌드 에이전트를 수정하려면
Visual Studio의 팀 탐색기에서
팀 프로젝트 컬렉션의 팀 프로젝트에 아직 연결되어 있지 않은 경우 팀 프로젝트에 연결합니다.
홈을 선택한 후 빌드를 선택합니다.
빌드 페이지에서 작업을 선택한 다음 빌드 컨트롤러 관리를 선택합니다.
빌드 컨트롤러 관리 대화 상자가 나타납니다.
수정할 빌드 에이전트를 선택한 다음 속성을 선택합니다.
빌드 에이전트 속성 대화 상자가 나타납니다.
표시 이름, 설명: 팀 멤버가 빌드 에이전트를 손쉽게 식별할 수 있도록 이름과 설명을 입력합니다.
컨트롤러: 이 빌드 에이전트를 제어할 빌드 컨트롤러를 선택합니다. 빌드 컨트롤러는 이 빌드 에이전트와 동일한 빌드 서버 또는 다른 빌드 서버에서 실행될 수 있습니다.
빌드 에이전트를 구성하는 방법에 대한 자세한 내용은 아래 섹션을 참조하십시오.
Visual Studio 및 기타 소프트웨어를 설치하여 컴파일과 기타 기능 사용
팀이 개발 컴퓨터에서 사용하는 Visual Studio 버전을 빌드 에이전트에 설치해야 합니다. Visual Studio 설치를 참조하십시오. 개발 컴퓨터에 설치되어 있고 응용 프로그램을 빌드하는 데 필요한 기타 소프트웨어 및 구성 요소도 설치해야 합니다.
작업 디렉터리 지정
빌드 에이전트가 파일을 읽거나 쓰는 데 사용하는 작업 디렉터리를 지정할 수 있습니다. 예를 들어 소스 파일은 이 폴더의 하위 디렉터리에 복사되고 이진 파일을 만들면 이 폴더의 다른 하위 디렉터리에 저장됩니다.
팁
단일 물리적 하드 드라이브를 각 빌드 에이전트의 작업 디렉터리에 전용으로 사용하여 성능을 향상시킬 수 있습니다.
작업 디렉터리 토큰 사용
c:\temp\build\와 같이 작업 디렉터리 속성에 리터럴 경로를 지정할 수는 있지만 토큰을 사용하여 경로를 지정하는 방법이 더 간단하고 견고합니다. 다음과 같은 두 가지 종류의 토큰을 사용할 수 있습니다.
환경 변수
환경 변수에는 시스템 및 로그온한 사용자의 환경에 대한 정보가 포함됩니다. 사용할 수 있는 가장 일반적인 변수는 SYSTEMDRIVE이지만 일부 상황에서는 USERNAME 또는 HOMEPATH 같은 변수를 사용할 수도 있습니다.팁
빌드 서버의 환경 변수를 나열하려면 명령 프롬프트를 열고 set을 입력합니다.
Team Foundation Build 변수
빌드 에이전트의 작업 디렉터리에서 사용할 수 있는 변수는 다음과 같습니다.$(BuildAgentId): 팀 프로젝트 컬렉션 내에서 빌드 에이전트를 고유하게 식별하는 자동으로 생성된 정수입니다.
$(BuildAgentName): 빌드 에이전트의 표시 이름입니다.
$(BuildDefinitionId): 팀 프로젝트 컬렉션 내에서 빌드 정의를 고유하게 식별하는 자동으로 생성된 정수입니다.
$(BuildDefinitionPath): 백슬래시로 구분된 팀 프로젝트 이름 및 빌드 정의 이름입니다.
작업 디렉터리 예
예를 들어 BuildBot3이라는 빌드 에이전트가 있습니다. 팀 프로젝트 CoolApp에 NightlyBuild와 WeeklyBuild라는 두 빌드를 정의했습니다. 작업 디렉터리 상자에 $(SystemDrive)\TeamBuilds\$(BuildAgentName)\$(BuildDefinitionPath) 값을 지정합니다. 이렇게 하면 BuildBot3 빌드 에이전트에서 다음과 같은 두 작업 디렉터리를 만들고 사용합니다.
C:\TeamBuilds\BuildBot3\CoolApp\NightlyBuild
C:\ TeamBuilds\BuildBot3\CoolApp\WeeklyBuild
작업 디렉터리의 경로가 너무 길지 않도록 설정
작업 디렉터리를 지정할 때 빌드 에이전트에서 259자가 넘는 실제 경로를 생성하지 않도록 해야 합니다. 그렇지 않으면 빌드가 실패하고 다음 오류가 기록될 수 있습니다. TF10128: The path PhysicalPath contains more than the allowed 259 characters. Type or select a shorter path.
이 문제를 해결하려면 실제 경로가 더 짧은 작업 디렉터리를 지정합니다. 예를 들어 $(HOMEDRIVE)\bld\$(BuildAgentID)\$(BuildDefinitionID) 디렉터리를 지정하면 **c:\bld\3\2\**와 같은 작업 디렉터리가 만들어집니다.
작업 디렉터리에 만든 하위 디렉터리
빌드 에이전트는 이 경로 아래에 다음과 같은 하위 디렉터리를 만들고 사용합니다.
하위 디렉터리 |
저장되는 파일 |
---|---|
Sources |
빌드 에이전트에서 읽는 파일(예: 소스 파일). 다운로드하는 파일은 각 빌드 정의의 작업 영역 설정에서 지정합니다. 빌드 작업 영역 사용을 참조하십시오. |
Binaries |
빌드 에이전트에서 컴파일하는 파일(예: 컴파일된 응용 프로그램 파일) |
TestResults |
빌드 에이전트에서 실행한 테스트의 결과 파일 |
빌드 에이전트에서 테스트를 실행할 수 있도록 허용
자동화된 테스트를 한 번 이상 실행하는 빌드 프로세스를 정의할 수 있습니다.
중요
다양한 종류의 테스트 및 테스트 작업에서는 팀이 개발 컴퓨터에서 사용하는 것과 동일한 버전의 Visual Studio를 빌드 에이전트에 설치해야 합니다.Visual Studio 설치를 참조하십시오.
빌드 에이전트는 다음을 실행할 수 있습니다.
코드 검사
코딩된 UI 테스트(대화형 모드에서 실행되는 빌드 서버가 필요합니다. 대화형 모드에서 빌드 서버 실행 및 UI 자동화를 사용하여 코드 확인를 참조하십시오.)
데이터베이스 테스트 데이터 생성
데이터베이스 단위 테스트
제네릭 테스트
부하 테스트
단위 테스트
순서가 지정된 테스트
테스트 영향 분석
웹 테스트
빌드 에이전트 기능이나 목적을 나타내기 위해 태그 할당
빌드 시스템의 규모가 증가함에 따라 특수화된 빌드 에이전트를 정의해야 할 수도 있습니다. 빌드 에이전트에 특수 기능이 있거나 특정 용도가 계획된 경우에는 항상 해당 에이전트에 하나 이상의 태그를 할당해야 합니다. 이렇게 하면 팀 멤버는 특정 유형의 빌드 에이전트가 필요한 빌드 정의를 만들 때 해당 빌드 정의에 태그를 지정할 수 있습니다.
위에서 설명한 빌드 에이전트 속성 대화 상자에서 태그를 할당할 수 있습니다. 그런 다음 빌드 정의에 태그를 적용할 수 있습니다.
다음 표에서는 태그 이름 및 해당 태그 이름으로 나타낼 수 있는 빌드 에이전트 기능 예제를 제공합니다.
적용할 수 있는 태그 |
식별하려는 빌드 에이전트 기능 |
---|---|
x86 |
32비트 응용 프로그램을 컴파일합니다. |
x64 |
64비트 응용 프로그램을 컴파일합니다. |
bvt |
야간 BVT 빌드에서 실행되는 BVT 테스트를 실행합니다. |
WindowsStore |
|
IIS |
ASP.NET 웹 응용 프로그램을 컴파일한 다음, 빌드 에이전트가 실행되는 컴퓨터에 스테이징 및 호스팅합니다. |
interactive |
대화형 모드에서 실행되는 빌드 서버에서 에이전트가 필요한 작업을 수행합니다. |
빌드 에이전트에 둘 이상의 태그를 적용할 수 있습니다. 예를 들어 x86 태그와 릴리스 태그가 적용된 빌드 에이전트를 만들어 32비트 응용 프로그램의 릴리스 구성을 컴파일하기 위해 설정된 에이전트를 나타낼 수 있습니다.
동일한 빌드 서버에서 여러 빌드 에이전트를 실행하는 경우 모든 빌드 에이전트가 동일한 기능을 갖습니다. 따라서 해당 빌드 서버의 모든 빌드 에이전트에 동일한 태그를 적용할 수 있습니다.
빌드 에이전트 제거
이전에 빌드 에이전트 만들기 또는 수정에서 설명한 대로 Visual Studio에서 빌드 컨트롤러 관리 대화 상자를 엽니다.
제거할 빌드 에이전트를 선택한 다음 제거를 선택합니다.
팁
빌드 서버에 로그온되어 있는 동안 Team Foundation 관리 콘솔을 사용하여 빌드 에이전트를 제거할 수도 있습니다.
다음 단계
Team Foundation Build 시스템 확장
팀과 코드베이스가 증가하면 상대적으로 간단하게 빌드 시스템을 점진적으로 확장할 수 있습니다.빌드 시스템 관리
경우에 따라 빌드 시스템을 모니터링하고 관리해야 합니다.빌드 시스템을 사용하여 응용 프로그램 컴파일, 테스트 및 배포
빌드 시스템이 준비되면 팀에서 간단한 빌드 프로세스를 만들고(예: 연속 통합 빌드) 응용 프로그램을 자동으로 빌드 및 테스트할 수 있습니다.