Team Foundation Build 구성 파일 이해
업데이트: 2007년 11월
Team Foundation Build는 MSBuild 엔진을 사용합니다. Team Foundation Build 프로세스는 MSBuild 프로젝트 파일 스키마에 해당하는 XML 파일 집합을 통해 제어됩니다. 이러한 XML 파일의 다음 요소는 빌드 프로세스에 중요합니다.
Target element Target 요소는 프로젝트가 빌드되는 방식을 정의합니다. Target 요소에는 MSBuild에서 순차적으로 실행되는 일련의 작업이 들어 있습니다. 대상에 대한 자세한 내용은 MSBuild 대상을 참조하십시오.
Task 요소 Task 요소는 빌드 프로세스 중에 실행되는 코드를 지정합니다. 작업에 대한 자세한 내용은 MSBuild 작업을 참조하십시오.
MSBuild에는 빌드 프로세스를 사용자 지정하는 데 사용할 수 있는 일반적인 작업 컬렉션이 포함됩니다. 자세한 내용은 MSBuild 작업 참조를 참조하십시오.
UsingTask 요소 UsingTask 요소는 빌드 프로세스에 사용되는 작업이 들어 있는 어셈블리를 지정합니다.
MSBuild 스크립트 파일은 다른 스크립트 파일을 가져올 수 있습니다. 예를 들어 한 파일에서 일반적인 구성을 정의한 후 이 파일을 다른 구성에 포함할 수 있습니다. 자세한 내용은 방법: 여러 프로젝트 파일에서 동일한 대상 사용을 참조하십시오.
다음 두 개의 파일이 Team Foundation Build 프로세스를 제어합니다.
Microsoft.TeamFoundation.Build.targets
이 파일은 Team Foundation Build에 포함되어 있는 기본 작업 및 대상 집합을 정의합니다. 예를 들어 Clean, DropBuild, Compile 등을 정의합니다. 각 대상에는 해당 특정 대상에 대해 호출되는 작업이 들어 있습니다. 이 파일의 일부 대상은 다른 대상에 종속되어 특성 순서로 실행되는 대상 체인을 구성합니다. 예를 들어 대상 Compile은 대상 BeforeCompile에 종속되어 있으므로 대상 BeforeCompile에 정의된 작업이 Compile 전에 실행됩니다. 이 파일에 정의된 모든 대상이 모든 빌드에서 반드시 실행되는 것은 아닙니다. 예를 들어 데스크톱 빌드에서는 Clean 대상이 실행되지 않습니다.
Microsoft.TeamFoundation.Build.targets는 Visual Studio Team System과 함께 제공되며 <root>:\Program Files\MSBuild\Microsoft\VisualStudio\TeamBuild\ 디렉터리에 있습니다. 컴퓨터에는 이 파일의 복사본이 하나만 있으며 이 복사본은 해당 컴퓨터에서 실행되는 모든 빌드에서 공유됩니다.
중요: Microsoft.TeamFoundation.Build.targets를 수정하지 마십시오. 이 파일을 수정하면 각 빌드 정의에 영향을 줍니다. 빌드 정의를 사용자 지정하려면 이 빌드 정의와 연결된 TfsBuild.proj 파일을 수정해야 합니다.
TfsBuild.proj
이 파일은 Team Foundation Build의 기본 구성 파일입니다. 이 파일은 하나의 빌드 정의에만 연결하거나, 여러 빌드 정의에서 공유할 수 있습니다. 이 파일에는 MSBuild 프로젝트 파일 만들기 마법사에서 지정한 구성 매개 변수가 저장됩니다. 여기에는 팀 프로젝트, 빌드 중단 시 만들어진 작업 항목 형식, 빌드할 구성 및 빌드할 솔루션 등이 포함됩니다. 새 빌드 정의에 대한 새 프로젝트 파일을 만드는 경우 MSBuild 프로젝트 파일 만들기 마법사를 통해 이 파일을 만들 수 있습니다. 자세한 내용은 방법: 빌드 정의 만들기을를 참조하십시오. 이 파일은 Microsoft.TeamFoundation.Build.targets를 가져오며 MSBuild에 전달됩니다. 이 파일을 변경하면 이 파일과 연결된 모든 빌드 정의의 빌드에 영향을 줍니다. 이 파일은 기본적으로 $\MyProject\TeamBuildTypes\BuildDefinition 폴더의 소스 제어에 저장됩니다. 여기서 MyProject는 팀 프로젝트의 이름이고 BuildDefinition은 빌드 정의의 이름입니다. 빌드 정의 대화 상자를 사용하여 이 파일을 다른 위치에 저장할 수도 있습니다.
TfsBuild.proj 파일에는 설명 텍스트 형식의 사용 예제가 포함되어 있습니다. 이러한 예제에는 SolutionToBuild 요소에서 사용자 지정 대상을 호출하는 방법 및 사용자 지정 속성을 다른 요소로 전달하는 방법 등이 설명되어 있습니다.
다음과 같은 파일도 중요합니다.
TfsBuildService.exe.config
TfsBuildService.exe.config 파일을 사용하여 Team Foundation Build의 특정 측면을 구성할 수 있습니다. TfsBuildService.exe.config에는 Team Foundation Server와 통신하는 데 사용하는 포트 설정, Team Foundation Build에서 사용하는 최대 프로세스 수 구성 설정, 프로젝트별 또는 플랫폼별 오류 및 경고 생성 및 구성 조합 설정, 빌드 에이전트의 소스, 이진 파일 및 테스트 결과 하위 디렉터리 이름 수정 설정 등이 포함됩니다. 자세한 내용은 방법: TfsBuildService.exe.config 파일의 설정 수정을 참조하십시오.
TfsBuildService.exe.config 파일은 응용 프로그램 계층 서버의 <root>:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\PrivateAssemblies에 있습니다.
TfsBuild.rsp
MSBuild 프로젝트 파일 만들기 마법사에서 생성하는 빈 파일입니다. 이 파일은 사용자 지정 로거를 지정하거나 MSBuild 속성을 재정의하는 데 사용할 수 있습니다. 자세한 내용은 MSBuild 지시 파일을를 참조하십시오.
대상, 속성 및 작업
다음 항목에서는 Microsoft.TeamFoundation.Build.targets에 정의되어 있는 기본 대상, 작업 및 속성을 설명합니다.
사용자 지정 가능한 Team Foundation Build 대상
Microsoft.TeamFoundation.Build.targets에 정의되어 있고 사용자 지정 작업을 작성하여 재정의할 수 있는 대상을 나열합니다. 빌드 프로세스를 사용자 지정하는 방법을 보여 주는 예제도 포함됩니다.사용자 지정 가능한 Team Foundation Build 속성
Microsoft.TeamFoundation.Build.targets에 정의되어 있고 TfsBuild.proj 파일에서 재정의할 수 있는 기본 속성을 나열합니다. 이 항목에는 예제가 포함됩니다.Team Foundation Build 작업
Microsoft.TeamFoundation.Build.targets에 정의되어 있고 빌드 정의를 사용자 지정하기 위해 TfsBuild.proj 파일에서 수정할 수 있는 기본 작업을 나열합니다. 이 항목에는 예제가 포함됩니다.
참고 항목
작업
연습: 사용자 지정 작업을 통해 Team Foundation Build 사용자 지정