2016-11-24 25 views
0

日常的なアジャイルスプリントで素晴らしい$(date:yyyy.MM.dd)$(rev:.r)ビルド番号形式を使用します。ただし、1.0.0.revという簡単なスキーマで番号を付ける必要があります。TFS 2015ビルド定義 - オーバーライド変数を使用してビルド番号

理想的には、ビルド番号を変数として与えたいと思います。このビルド番号は、「キューのビルド」ダイアログで自動的に展開され、オーバーライドすることができます。どのようにそれを行うことができますか?

私は$(日付:YYYY.MM.DD)に移動しようとした$(REV:.R)変数のフォーマット、および一般]タブでその変数を使用すると、エラー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

2番目のリンクは、それを実装する方法を提供します。ビルドステップから変数をオーバーライドします。ありがとう! – liorda

+0

セカンドリンクが死んでいます... :( – Leon

+1

@レオンそれを更新しました –

2

これは非常に簡単です。

1)ちょうどこの

$FinalVersion=Some-Function-To-Calculate-Version 
 
$BuildDefName = $Env:BUILD_DEFINITIONNAME 
 
Write-Host "##vso[build.updatebuildnumber]$($BuildDefName)-$($FinalVersion)"

2のようにPowerShellスクリプトを作成する)あなたのvNextで何でもにそれを設定し、 "数の書式を構築する" ために、定義を構築します。ビルド番号が上書きされるので問題はありません。

3)同じvNextビルド定義手順で、最初の手順をPowershell手順として追加し、手順1のスクリプトを実行するように設定します。ビルド番号を計算するために変数を渡す場合は、後でカスタマイズすることができます。

4)ビルドをキューに入れ、結果を確認します。

+0

ありがとうございます。 –

関連する問題