2013-01-11 4 views
3

Team Foundation Server에서 개발되고 자동으로 빌드되는 네이티브 C++ 프로젝트에 자동 버전 관리 기능을 추가하려고합니다. 이상적으로는 TFS에서 최신 버전을 모두 체크 아웃하는 빌드 시작을하고, 첫 번째 단계로 TFS에서 빌드 번호를 가져 와서 헤더 파일을 만든 다음 빌드를 계속하기 전에 해당 파일을 다시 체크인하십시오. 이와 같은 빌드 중에 체크 아웃/체크인을 수행 할 수 있습니까? 나는 TFS가 우리 팀에 다른 사람을 작동하지 않습니다 그것에서 정보를 검색하는 기능, 어느 쪽도 얼마나 너무 익숙하지 않다TFS를 사용하여 버전 헤더 파일 생성

,이 ...

답변

3

예, 가능합니다. 여기에 C# 용 AssemblyInfo를 사용하는 방법을 보여주는 훌륭한 웹 사이트가 있으므로 솔루션을 약간 조정해야하지만 작업을 완료하는 데 충분한 정보가 표시되어야합니다.

대용량 빌드 환경에서 체크 아웃/인에 매우주의하십시오. 이 빌드를 체크 아웃 한 후에 다른 빌드가 체크인되었으므로 "잠긴 파일을 체크 아웃 할 수 없습니다"라는 많은 정보를 얻는 경향이 있으며 체크인시 충돌이 발생합니다. 많은 오류 처리 및 확인 및 충돌을 처리 할 수있는 기능을 갖춘 사용자 지정 작업을 사용하십시오. TF.EXE를 높은 볼륨으로 사용하지 마십시오.

Web Site

0

재미있는 아이디어 우리가 그것을 사용하는 것은 이번이 처음이다 , 아마도 빌더 빌드 활동 (아마도 아닐지도 모른다)을 빌드 할 수 있는지는 모르겠지만 Invoke Process를 사용하여 원하는 다른 것을 호출 할 수 있으므로 tf.exe (즉 FileName을 경로 \ tf.exe로, 인수를 "체크 아웃 전체 경로 파일"으로 설정하여 파일을 체크 아웃하고 (아마도 다른 Invoke Process 활동에서) 편집/변경 한 다음 Invoke Process를 사용하여 확인하십시오 안으로.

그냥 아이디어를 던지십시오!

0

이 버전의 파일을 체크인하지 마십시오 - 그것은 끝이에 문제를 일으킬 것입니다. 대신, TFS가 제공하는 빌드 이름을 사용하여 on-the-fly로 생성하고 컴파일하십시오. 우리는 Wintelect's solution (C++, C# 및 다른 언어 지원)으로 시작하여 빌드의 실제 버전 문자열을 문자열로 포함하도록 수정했습니다.

경고 : 파일을 만들 때마다 증분 빌드가 중단됩니다. 우리는 존재하지 않는 파일 만 다시 만들었습니다. 즉, 증분 빌드에 잘못된 빌드 번호가 있음을 의미합니다. 그러나 "공식적인"빌드는 증분이 아니며 올바른 번호를가집니다.

+0

좋아, 지금은 그것에 대해 노력하고 적어도 몇 가지 아이디어가 있습니다. 내 관리자는 체크 아웃 된 헤더를 계속 고수하므로 버전을 되돌아보고 추적 할 수 있습니다. 나도 그것이 약간의 이슈를 일으킬 것이다라고 생각한다. –

+0

버전을 추적하는 올바른 방법은 라벨을 사용하는 것입니다. 빌 게이츠가 아닌 빌드 (수동, CI, 롤링, 예약)는 레이블을 만들며 어떤 버전에이 방식이 포함되어 있는지 확인할 수 있습니다. – Jonathan