2016-11-24 10 views
0

일상적인 민첩한 스프린트에서 멋진 $ (날짜 : yyyy.MM.dd) $ (rev : .r) 빌드 번호 형식을 사용합니다. 그러나 릴리스는 더 간단한 1.0.0.rev 스키마로 번호가 지정되어야합니다.TFS 2015 빌드 정의 - 재정의 빌드 번호

이상적으로, 빌드 번호를 변수로 지정하고 싶습니다.이 빌드 번호는 재정의가 가능한 "대기열 빌드"대화 상자에서 자동으로 확장됩니다. 어떻게 할 수 있습니까? $ (REV : .R) :

은 내가 $ 이동 (YYYY.MM.DD 일) 시도 변수 형식을, 그리고 일반 탭에서 해당 변수를 사용하여 오류 400

+0

빌드 번호를 변수로 지정하려는 이유가 무엇입니까? 방금 $ (date : yyyy.MM.dd) $ (rev : .r)을 유지 하시겠습니까? 또는 빌드 단계에서 빌드 번호를 사용하고 싶습니까? –

+0

@ Patrick-MSFT 다른 빌드 변수를 변경할 수있는 것처럼 새 빌드를 큐에 넣을 때 버전 번호를 무시하고 "릴리스"형식으로 일반 형식을 변경하고 싶습니다. – liorda

+1

버전 번호의 대기열 빌드에서 값을 직접 변경할 수 없습니다. 변환 또는 변경 번호를 변경하려면 버전 번호를 직접 변경할 수 없습니다. 정의에서 수동으로 변경해야합니다. 내 대답은이 블로그 http://incyclesoftware.com/2015/06/vnext-build-awesomeness-managing-version-numbers/에서 참조 할 수있는 자세한 방법입니다. –

답변

2

당신은 할 수있어 Environment variables을 직접 사용하십시오. Build.BuildNumber/BUILD_BUILDNUMBER

사용은 완성 된 빌드의 이름과 같습니다. General tab에이 값을 생성하는 빌드 번호 형식을 지정할 수 있습니다.

TFS Build vNext에서 1.0.0.rev 스키마와 같은 사용자 지정 빌드 번호를 생성하려는 경우. 아래 블로그에서 좀 걸릴 수 있습니다 :

+1

두 번째 링크는이를 구현하는 방법을 제공합니다. 빌드 단계에서 변수를 무시하십시오. 감사! – liorda

+0

두 번째 링크가 죽었습니다 ... :( – Leon

+1

@Leon 그것을 업데이트했습니다 . –

2

이 매우 간단합니다.

1) 그냥 아무것도 "숫자 형식을 구축"단지 설정 그것을 위해, 당신의 vNext 구축 정의에서이

2

$FinalVersion=Some-Function-To-Calculate-Version 
 
$BuildDefName = $Env:BUILD_DEFINITIONNAME 
 
Write-Host "##vso[build.updatebuildnumber]$($BuildDefName)-$($FinalVersion)"
) 같은 PowerShell 스크립트를 만들 수 있습니다. 빌드 번호를 덮어 쓰기 때문에 문제가되지 않습니다.

3) 동일한 vNext 빌드 정의 단계에서 첫 번째 단계를 Powershell 단계로 추가하고 1 단계의 스크립트를 실행하도록 설정하십시오. 빌드 번호를 계산하기 위해 변수를 전달하려면 나중에 사용자 정의 할 수 있습니다.

4) 빌드를 대기시키고 결과를 확인하십시오.

+0

고마워요. 이것은 나를 위해 잘 작동합니다. –