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 사용자 지정

기타 리소스

Team Foundation Build 사용자 지정

MSBuild 개념