다음을 통해 공유


방법: 분기된 팀 프로젝트의 빌드 정의 업데이트

업데이트: 2007년 11월

Team Foundation 버전 제어를 사용하여 분기하면 TeamBuildTypes 폴더를 비롯한 모든 폴더와 파일이 이전 분기에서 대상 분기로 복사됩니다. 자세한 내용은 Team Foundation 버전 제어 분기 및 병합을 참조하십시오. 다음과 같은 두 가지 분기 시나리오를 고려할 수 있으며 이 두 시나리오는 팀 빌드 형식에 각각 다른 영향을 줍니다.

  • 부분 분기   몇 개의 솔루션이 들어 있는 팀 프로젝트 폴더에서 하나 또는 일부 솔루션만 분기된 경우

  • 전체 분기   팀 프로젝트 폴더가 전체적으로 분기된 경우

부분 분기의 경우 TeamBuildTypes 폴더에 들어 있는 빌드 정의는 원래 구성에서도 유효합니다. 즉, 해당 빌드 형식은 원래 분기에서도 실행됩니다. 부분 분기의 경우 필요하면 원래 분기와 새 분기 모두의 솔루션을 가리키는 새 빌드 정의를 만드는 것이 좋습니다. 자세한 내용은 방법: 빌드 정의 만들기를 참조하십시오. 새 분기에서 기존 TFSBuild.proj 파일을 수정하여 적절한 경로를 가리키도록 할 수도 있지만 원래 빌드 정의는 이전의 미리 분기된 구성에서 계속 사용할 수 있도록 유지하는 새 빌드 정의를 만들어야 합니다.

부분 분기와 마찬가지로 팀 프로젝트 내에 전체 분기를 만들 때도 팀 탐색기에 원래 TeamBuildTypes 폴더의 복사본을 만듭니다. 새 분기의 폴더에 포함된 빌드 정의는 새 분기에 대해 자동으로 작동하지 않습니다. 부분 분기와 마찬가지로 원래 분기 경로에서 실행됩니다. 이 경우 TFSBuild.proj 파일에서 솔루션 경로를 올바른 폴더 경로로 수정하는 것이 좋습니다.

필요한 권한

분기된 팀 프로젝트에서 빌드 정의를 업데이트하려면 빌드 관리 권한이 허용으로 설정되어 있어야 하며 Team Build Types 폴더에 대한 체크 아웃 권한도 허용으로 설정되어 있어야 합니다. 자세한 내용은 Team Foundation Server 권한을 참조하십시오.

절차

전체 분기 작업에 따라 빌드 정의 경로를 업데이트하도록 TFSBuild.proj 파일을 편집하려면

  1. 기존 빌드 정의를 편집하여 솔루션 경로를 업데이트하려면 해당 TFSBuild.proj 파일을 체크 아웃해야 합니다.

    자세한 내용은 버전 제어 서버에서 파일의 로컬 복사본 가져오기를 참조하십시오.

  2. 소스 제어에서 TFSBuild.proj 파일을 마우스 오른쪽 단추로 클릭한 다음 편집하기 위해 체크 아웃을 선택합니다.

  3. TFSBuild.proj 파일을 두 번 클릭하여 Visual Studio에서 엽니다.

  4. TFSBuild.proj 파일에서 <ItemGroup> 태그를 찾습니다. <ItemGroup> 태그 내에서 각 SolutionToBuild 태그의 경로를 다음 예제와 같이 업데이트합니다.

    팀 프로젝트 폴더인 Alpha에서 복사한 원래 파일

    <ItemGroup>
        <SolutionToBuild Include="$(SolutionRoot)\Alpha\path\Solution1.sln" />
        <SolutionToBuild Include="$(SolutionRoot)\Alpha\path\Solution2.sln" />
    </ItemGroup>
    

    새로 분기된 Beta에 맞게 수정한 경로

    <ItemGroup>
        <SolutionToBuild Include="$(SolutionRoot)\Beta\path\Solution1.sln" />
        <SolutionToBuild Include="$(SolutionRoot)\Beta\path\Solution2.sln" />
    </ItemGroup>
    
  5. TFSBuild.proj 파일을 저장하고 소스 제어로 체크 인합니다.

    파일에서 업데이트된 경로에 맞게 수정한 내용은 이후 빌드 정의에 영향을 줍니다. TFSBuild.proj 파일과 둘 이상의 빌드 정의가 연결되어 있으면 업데이트된 경로가 모든 정의에 영향을 줍니다.

참고 항목

기타 리소스

Team Foundation Build에서 빌드 실행