Team Foundation Build 구성 파일 이해

이 항목에서는 업그레이드 템플릿에 사용되는 구성 파일에 대해 설명합니다. 업그레이드 템플릿에 대한 자세한 내용은 업그레이드 템플릿을 사용하여 빌드 정의를 참조하십시오. MSBuild 프로젝트 파일 만들기 마법사와 같이 이러한 파일을 생성하는 데 사용되는 기능은 Visual Studio Team System 2008에서만 사용할 수 있습니다.

업그레이드 템플릿 빌드를 처리할 때 Team Foundation Build에서는 MSBuild 엔진을 사용합니다. 프로세스는 MSBuild 프로젝트 파일 스키마에 해당하는 XML 파일 집합을 통해 제어됩니다. 이러한 XML 파일의 다음 요소는 빌드 프로세스에 중요합니다.

  • Target 요소   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 Application Lifecycle Management과 함께 제공되며 <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 요소에서 사용자 지정 대상을 호출하는 방법 및 사용자 지정 속성을 다른 요소로 전달하는 방법 등이 설명되어 있습니다.

  • 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 파일에서 수정할 수 있는 기본 작업을 나열합니다. 이 항목에는 예제도 포함되어 있습니다.