1

TFS ビルド定義のビルド ラベル フィールドの 1 つにロジックを追加しようとしています。

現在、設定は次のようになっています。

ここに画像の説明を入力

カスタム フィールドの [メジャー バージョン番号] と [以前のメジャー リリース日] に注意してください。Build Number Format フィールドを変更して、最終結果が次のようになるようにします。

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

したがって、出力例は次のようになります。

DebugBuild 6.0.0012.1

どこ0012で12日を意味しますか.

どうすればこれを達成できますか? 私$(Var)が宣言したメジャー バージョン番号と以前のメジャー リリース日の引数はビルド プロセス テンプレートに存在し、割り当てられているのに、ビルド プロセス テンプレートの変数と引数とは別のように見えるため、これらのフィールドがどこで宣言されているのか理解できません。引数MajorVersionNumberPreviousMajorReleaseDate.

4

1 に答える 1

1

私が行ったことは、TFS ビルド ワークフローをカスタマイズし、「ビルド番号の更新」ステップの前にカスタムコード アクティビティを追加することです。

このコード アクティビティはBuildNumberFormat変数を受け取り、カスタム トークンを置き換えて、結果を独自のlocalBuildNumberFormat変数に渡します。localBuildNumberFormat次に、「ビルド番号の更新」アクティビティにmy を渡します。

したがって、プロセスは次のようになります。

  • ビルド番号フォーマット =$(CustomToken)_$(BuildDefinitionName)_$(Rev:.r)
  • カスタム アクティビティへの入力 =$(CustomToken)_$(BuildDefinitionName)_$(Rev:.r)
  • カスタム アクティビティからの出力 =DavesBuild_$(BuildDefinitionName)_$(Rev:.r)
  • TFS ビルド アクティビティへの入力 =DavesBuild_$(BuildDefinitionName)_$(Rev:.r)

基本的に、TFS に渡す前に TFS が理解できないすべてのトークンを置き換えています。

カスタムトークンの値を取得する方法はあなた次第です。それらをビルド定義/リクエストから引数として渡すか、コードアクティビティでそれらを検索できます(私は両方を行います)。

于 2013-10-01T12:03:22.940 に答える