증분 빌드를 위한 Team Foundation Build 구성

이 항목에서는 업그레이드 템플릿을 사용하여 증분 빌드를 정의하는 방법에 대해 설명합니다. 업그레이드 템플릿에 대한 자세한 내용은 업그레이드 템플릿을 사용하여 빌드 정의를 참조하십시오. 기본 템플릿을 사용하면 이 절차를 보다 쉽게 수행할 수 있습니다. 자세한 내용은 기본 템플릿을 사용하여 빌드 정의를 참조하십시오.

증분 빌드는 Team Foundation Build에서 관리하는 이전의 빌드 결과를 다시 사용하여 마지막 빌드 이후 발생한 변경 내용을 기반으로 최적화된 빌드를 수행합니다.

증분 빌드를 수행하려면 증분 빌드의 빌드 정의를 만든 후 첫 번째 빌드를 실행합니다. 그러면 필요한 작업 영역이 만들어지고 모든 소스 파일이 빌드 컴퓨터에 저장됩니다.

사전 요구 사항

이 작업을 완료하려면 다음 사항이 준비되어 있어야 합니다.

  • 사용자 지정할 빌드 형식의 TFSBuild.proj 파일에 대한 액세스 권한

    각 팀 빌드 정의에는 Team Foundation 버전 제어의 $/MyTeamProject/TeamBuildTypes/MyBuildName 폴더에 위치한 관련 TFSBuild.proj 파일이 있습니다. MyTeamProject는 팀 프로젝트의 이름이며, 모든 팀 프로젝트 소스의 루트 노드입니다. MyBuildName은 빌드 정의에 지정한 이름입니다. Team Foundation Build 빌드 형식을 만드는 방법에 대한 자세한 내용은 기본 빌드 정의 만들기를 참조하십시오.

  • 팀 프로젝트 파일과 빌드 파일이 포함된 로컬 컴퓨터의 로컬 작업 영역

    자세한 내용은 작업 영역 만들기 및 파일 가져오기팀 프로젝트의 소스 가져오기를 참조하십시오.

MSBuild 인수 매개 변수에 /p:IncrementalBuild=true 문자열을 포함하여 빌드를 큐에 대기시킬 때 빌드가 증분 방식으로 실행되도록 할 수도 있습니다. 자세한 내용은 큐에 빌드 대기시키기를 참조하십시오.

필요한 권한

이 작업을 완료하려면 빌드 관리 권한과 작업 영역 관리 권한이 허용으로 설정되어 있어야 합니다. 또한 체크 인 권한과 체크 아웃 권한도 허용으로 설정되어 있어야 합니다. 자세한 내용은 Team Foundation Server 권한을 참조하십시오.

TFSBuild.proj 파일의 로컬 복사본 가져오기

빌드 정의를 정의하는 TFSBuild.proj 파일을 변경하려면 먼저 파일의 로컬 복사본을 가져와야 합니다.

TFSBuild.proj 파일의 로컬 복사본을 가져오려면

  1. 보기 메뉴에서 다른 창을 선택한 다음 소스 제어 탐색기를 선택합니다.

  2. 소스 제어 탐색기의 도구 모음에서 작업 영역을 클릭하고 목록에서 작업 영역을 선택합니다.

  3. 빌드 형식이 포함된 팀 프로젝트 폴더를 열고 TeamBuildTypes 폴더를 확장합니다.

  4. TFSBuild.proj 파일을 마우스 오른쪽 단추로 클릭하고 최신 버전 가져오기를 선택하여 파일의 최신 버전을 복사합니다.

    자세한 내용은 팀 프로젝트의 소스 가져오기를 참조하십시오.

TFSBuild.proj 파일에서 속성 설정

증분 빌드를 지정하려면 TFSBuild.proj 파일에서 IncrementalBuild 속성을 설정해야 합니다.

TFSBuild.proj 파일에서 속성을 설정하려면

  • IncrementalBuild는 SkipClean을 true로 설정하고, SkipInitializeWorkspace를 true로 설정하며, ForceGet을 false로 설정하는 편의 속성입니다.

  • Team Foundation Build에서는 전체 빌드를 수행할 때 Clean 대상의 중간 빌드 폴더와 소스 폴더에 있는 파일을 정리합니다. 증분 빌드의 경우 다음 빌드를 수행하려면 이러한 파일이 그대로 남아 있어야 하므로 이 대상은 건너뛰어야 합니다. 그렇게 하려면 SkipClean을 true로 설정합니다.

  • 전체 빌드를 수행하는 동안 Team Foundation Build에서는 이전 작업 영역을 삭제하고 새 작업 영역을 다시 만들어 소스 파일을 정리하고 동기화합니다. 증분 빌드에서는 이 대상도 건너뛰어야 합니다. 그렇게 하려면 SkipInitializeWorkspace을 true로 설정합니다.

  • Get 작업을 사용할 경우 Team Foundation Build에서는 기본적으로 새 소스 파일을 검색하여 빌드 작업 영역의 기존 파일을 덮어씁니다. 변경된 파일만 검색하려면 ForceGet 속성을 false로 설정합니다.

    IncrementalBuild 속성을 true로 설정하려면 TFSBuild.proj 파일의 끝에서 닫는 </project> 태그 앞에 PropertyGroup 정의를 추가합니다.

       <PropertyGroup>
          <IncrementalBuild>true</IncrementalBuild>
       </PropertyGroup>
    

참고 항목

개념

사용자 지정 가능한 Team Foundation Build 대상

변경 내용 전송