2013-09-30 4 views
1

TFS 빌드 정의의 빌드 레이블 필드 중 하나에 일부 논리를 추가하려고합니다.TFS 빌드 정의 레이블 형식

현재 설정은 다음과 같이 :

enter image description here

참고 사용자 정의 필드 주요 버전 번호 및 이전 주요 출시 날짜를.

<BuildDefinitionName> <Major Version Number>.<# Days since Previous Major Release Date [4 Digits]>.<Revision Number>

그래서 예를 들어 출력은 다음과 같습니다 : 최종 결과가 될 수 있도록 뭔가 같은 빌드 번호 형식 필드를 수정할 0012 12 일 동안 의미

DebugBuild 6.0.0012.1

.

어떻게하면됩니까? 이 $(Var) 필드가 빌드 프로세스 템플릿 변수 및 인수와 별개로 표시되는 곳을 선언하는 데 문제가 있습니다. 선언 한 주 버전 번호 및 이전 주요 릴리스 날짜 인수는 빌드 프로세스 템플릿에 존재하며 인수 MajorVersionNumberPreviousMajorReleaseDate에 할당됩니다.

답변

1

내가 수행 한 작업은 customise the TFS build workflow이며 "빌드 번호 업데이트"단계 전에 코드 활동을 추가하십시오.

이 코드 활동은 BuildNumberFormat 변수를 사용하고 사용자 정의 토큰을 바꿔 결과를 내 localBuildNumberFormat 변수에 전달합니다. 그런 다음 내 localBuildNumberFormat을 "빌드 업데이트 번호"활동으로 전달합니다.

그래서 프로세스가 뭔가 같은 :

  • BuildNumberFormat = $(CustomToken)_$(BuildDefinitionName)_$(Rev:.r)
  • 입력 사용자 정의로 활동 = $(CustomToken)_$(BuildDefinitionName)_$(Rev:.r)
  • 출력 사용자 정의에서 활동 = DavesBuild_$(BuildDefinitionName)_$(Rev:.r)
  • TFS에 입력 건설 활동 = DavesBuild_$(BuildDefinitionName)_$(Rev:.r)

너 TFS가 TFS에 전달하기 전에 이해할 수없는 모든 토큰을 본질적으로 대체하고 있습니다.

사용자 정의 토큰에 대한 값은 사용자에게 달려 있습니다. 빌드 정의/요청에서 인수로 전달하거나 코드 활동에서 찾아 볼 수 있습니다 (모두 수행함).

+0

나는이 해결책을 시도했다. 내 사용자 정의 코드 활동이 있고 컴파일 된 .dll에 대한 참조를 빌드 컨트롤러에 추가했지만 사용자 정의 빌드 프로세스 .xaml 파일을 열면 코드 활동이 도구 상자에 표시되지 않습니까? –

+0

하나의 프로젝트에 XAML 템플릿이 포함 된 솔루션이 있어야하며 코드 활동이있는 다른 프로젝트를 참조해야합니다. 나는 또한 Wrox pro TFS 책을 참고 자료로 사용한다. – DaveShaw

+0

알았습니다! 고맙습니다! –