2011-08-18 2 views
1

Wintellect의 John Robbins에서 제안한 방법을 사용하여 빌드 날짜/이름을 기반으로 자동 빌드 번호 지정을 설정했습니다. here. 따라서 버전/리소스 파일은 빌드 타임에는 자동으로 생성되지만 체크인은되지 않습니다.
역사 버전 (레이블 기반)을 재구성하고 원본 빌드 번호/이름을 갖는 문제에 어떻게 접근해야하는지 궁금합니다. MSBuild의 'GetVersion'매개 변수를 감지하고 원본 빌드 이름을 다시 만들려고합니까?
어쨌든 건전한 접근 방식입니까? 어떤 대안이 있습니까?버전 번호가있는 TFS를 통한 기록 빌드 재구성

답변

1

그것은 특정 변경 집합을 구축하는 것은 쉽지 않다 (possib하지만 빌드 스크립트에 변경 집합 번호를 전달하고 빌드의 "최신 가져 오기"부분을 수정하는 경우).

그러나 이것을 처리하는 쉬운 방법 중 하나는 코드 분기를 만드는 것입니다. 특정 날짜 또는 변경 집합에서 분기하여 해당 시점의 코드 사본을 만들 수 있습니다. 빌드 스크립트는이 코드를 가리킬 수 있습니다.

버전 관리 문제 : 필요한 버전 번호를 하드 코딩하는 것이 현명한 방법 일 수 있습니다. 귀하의 버전 번호 매기기 전략에 대한 나의 이해는 소스 (예 : 변경 집합 번호, 날짜 또는 파일 내용)에서 파생 될 수있는 것과 관련이 없으며 체크인되지 않기 때문에 다시 계산됩니다. 꽤 복잡해!

+0

분기 방식이 좋습니다. 사실 TFS가 작동하는 방식으로 변경 집합 버전이나 레이블을 사용하여 실제로 어떤 버전이 선택되었는지는 결코 알 수 없습니다. –

+0

@ tbergstedt에서이 변경 집합/레이블 동작에 대한 설명 링크를 제공 할 수 있습니까? 이전 버전으로 되돌아 가려고하는 누군가에게 큰 문제처럼 들립니다. – Raber

+0

간단한 설명이 있습니다 : _ "... 레이블은 특정 시점을 나타내지 않고 오히려 특정 시점의 모음을 나타냅니다. 목록의 "올바른"순서가 없기 때문에 변경 세트가 혼합 된 목록에 표시하기가 어렵습니다. 결과적으로 변경 세트 목록과 레이블 목록을 별도로 처리합니다. "_ http : //blogs.msdn. 2005/11/18/494439.aspx –

-1

당신은 묻습니다. 역사적 건축물을 재건하지만 실제로 역사적 변화를 재구성하십시오. 설정 또는 레이블을 붙이십시오. 무슨 뜻인지는 알지만 필요한 것을 말하려고합니다. 그래서 나는 우리가 건축 할 필요가 있음을 알지 못합니다. label 또는 변경 세트는 필요에 따라 많은 빌드를 가질 수 있고 빌드 번호의 날짜와 시간을 사용하므로 이전 빌드 대신 현재 시간과 날짜가있는 것이 현실적입니다

감사

M.Radwan

+2

둘 이상의 문장을 포함하도록 답을 다시 쓸 수 있습니까? 엄청난 양의 감각을 만들어 낼지 확신하지 못합니다. –