2012-09-08 5 views
0

팀 빌드/빌드 정의를 사용하여이 문제를 해결하고 싶지만 다른 솔루션을 사용할 수 있습니다.쉽게 동일한 C# 프로젝트 (VS2010/TFS)의 다른 분기 빌드

현재 내 브랜치를 빌드하는 빌드 정의가 있습니다. 다른 지점을 만들고 싶다면 가장 쉬운 방법은 무엇입니까? 각 브랜치에 대한 빌드 정의를 복제하고 수정해야합니까? 아니면 더 쉽고 세련된 방법이 있습니까?

(특히, 빌드 정의는 MSI 파일을 구축, 난 그냥 그러고 싶어 이전 릴리스 지점에 대한 MSI 파일을 구축 한 번의 클릭으로.)

MyCollection 
| 
|-- MyProject 
    | 
    |-- MainBranch 
    | | 
    | |-- MySolution.sln 
    | 
    |-- EarlierReleasesFolder 
      | 
      |-- ReleaseBranch-2012-01 
      | | 
      | |-- MySolution.sln 
      | 
      |-- ReleaseBranch-2012-02 
      | | 
      | |-- MySolution.sln 
      | 
      |-- ReleaseBranch-2012-03 
      | | 
      | |-- MySolution.sln 
      | 
      |-- ReleaseBranch-2012-04 
      | | 
      | |-- MySolution.sln 

답변

0

현재, 나는 생각 해요 :

  • Code against the TFS API가 자동으로 각 릴리스 브랜치에 대한 정의를 구축 만들; 나 :
  • 수동 (빌드 정의를 복제 할 수있는 전동 공구를 사용하여) 빌드 정의
0

를 함께 제공 단지 기본 템플릿을 사용하여 TFS2010을 사용하면 구축 할 대상 솔루션을 변경할 방법이 없습니다. 빌드 정의의 일부로 빌드 할 솔루션의 소스 경로를 정의해야합니다.

물론 TFS Build는 WF 워크 플로이며 완벽하게 사용자 지정할 수 있습니다. 그렇게한다면 기본 워크 플로를 복제하고 "분기 경로"매개 변수를 추가하고 워크 플로의 MSBuild 부분에 들어가기 전에 BuildInfo 개체를 변경하는 사용자 지정 작업을 추가 할 수 있습니다.

0

TFS 전동 공구가 복제 빌드 정의 메뉴 항목을 추가을 만듭니다. 빌드 정의를 복사하고 소스 제어 매핑 및 솔루션을 수정하여 목록을 작성하기 쉽고 빌드 할 준비가됩니다.

MSI의 빌드에 대해 언급 한 이래 ...이 오래된 릴리스에서 dev를 시작하려는 경우 또는 이것이 MSI를 정확히 재현하는 것이 목표 인 재현성 재구성 프로그램 인 경우 이해해야합니다. 그 대답이 나중이면 * 대신 무작위로 PackageCodes를 사용해야합니다.

+0

QA 용 현재 및 이전 릴리스의 MSI 파일을 쉽게 빌드하여 다른 버전의 제품을 테스트하려고합니다. –

+0

왜 이전 릴리스를 다시 빌드해야합니까? 왜 그냥 지키지 않는거야? –

관련 문제