2011-03-25 2 views
1

여러 빌드 정의에서 외부 파일에 정의 된 동일한 대상을 사용하려고합니다. 이 외부 대상 파일은 소스 제어에 저장해야합니다. TFSBuild.proj and Importing External Targets에 설명 된 부트 스트랩 단계에서는 빌드 파일의 이름이 항상 TFSBuild.proj이므로 여러 빌드 정의에 대해 동일한 파일을 다운로드 할 수있는 것처럼 보이지 않으므로 각 빌드 정의에 대해 별도의 폴더에 위치합니다.팀 빌드 : 여러 빌드 정의에 대해 동일한 외부 대상 사용

이 질문은 이전에 언급 한 스레드의 의견에 다소 답답했지만 새로운 스레드를 만드는 것이 적절하다고 생각됩니다.

는 TFS가 부트 스트랩 동안 다른 폴더 경로에서 를 다운로드받을 수 있나요 :

데이비드 Keaveny하여 그 의견을 인용? 내 TFSBuild.proj이 가 실행해야하는 모든 사용자 정의 작업을 포함하는 Common.targets 파일을 가지고,하지만 난 여러 빌드 정의 (하나의 폴더 정의 당),가에 별도의 폴더에 앉아 주어진 빌드와 동일한 레벨 정의. 그것없이, 물론, 빌드가 즉시 실패합니다. - David Keaveny 08'17 at 23:58

답변

1

쉬운 방법이 있는지 확실하지 않습니다. 타겟 파일의 마스터 복사본을 가지고 각 빌드 정의 폴더로 분기 할 수 있습니다. 대상 파일을 업데이트 할 때 모든 폴더에 병합해야한다는 것을 기억해야합니다. 아마도 병합을 자동화하는 스크립트를 작성할 수 있습니다. 스크립트는 분기 관계가 tf branches을 사용하고 있는지 확인한 다음 그 주위를 반복하고 tf merge을 호출하고 tf checkin을 호출해야합니다. 그래도 많은 일이 느껴집니다.

빌드 서버에 대상을 설치할 수 있습니다. 우리는 우리가 사용하는 다수의 커스텀 타겟을 가지고 있으며, 그들이 제품이라면 마치 소스 컨트롤을위한 자신의 영역을 가지며, 빌드하는데 사용 된 소프트웨어와 독립적으로 버전을 관리합니다. 우리는 wix를 사용하여 패키지를 만들고 일단 테스트가 완료되면 모든 빌드 머신에 설치됩니다. 이것은 우리를 위해 작동하는 것으로 보입니다. 새로운 타겟 파일의 롤아웃을 제어 할 수 있다는 것을 의미합니다. 타겟 설치는 빌드 서버 기본 빌드의 일부일뿐입니다.

나는 누군가가 이것을 관리하는 더 쉬운 방법이 있다면 나는 매우 흥미가있을 것이다.

+0

분명히 쉬운 해결책이 존재하지 않습니다. 나를 위해, TFS 빌드 스크립트에 대해 고정 된 파일 이름을 갖고 같은 폴더에 여러 스크립트가 존재하지 않도록하는 것은 디자인 실수입니다. 답장을 보내 주셔서 감사합니다. 나는 그것을 받아 들일 것이다. –