Visual Studio Online (XAML ビルド定義ではなく) の新しいスクリプト可能なビルド機能を使用しており、ビルド番号形式を使用してターゲット リポジトリの最新の Git コミット ID をビルド バージョン番号に含めようとしています。
次のビルド番号形式を使用しています。
$(MajorVersion).$(MinorVersion).$(BuildId).$(SourceVersion)
これにより、バージョン番号が生成され1.0.1234.
ます。つまり、SourceVersion 値が空白になり、ビルドをキューに入れるときに VSO でエラーが発生します。Build.
また、同じ結果でプレフィックスを付けて変数を修飾しようとしました。テストするために、ビルド番号を次の形式に変更しました。
$(MajorVersion).$(MinorVersion).$(BuildId).$(SourceBranch)
これにより、次の値が正しく得られます。1.0.1234.refs_heads_master
私は事前定義された変数の参照を使用しており、Build.SourceVersion はグローバル変数としてリストされています。
私は何か間違ったことをしていますか、バグに遭遇しましたか、それともこれは設計によるもので、ビルドがキューに入れられた時点では利用できませんか? これが設計によるものである場合、短い Git コミット ID をビルド番号形式に自動的に含める方法はありますか?
これは、Git CommitId を明示的に指定しない場合に表示されるエラーです。
400: ビルド番号フォーマット文字列 $(MajorVersion).$(MinorVersion).$(BuildId).$(SourceVersion) はビルド番号 0.1.1 を生成しました。無効な文字が含まれているか、長すぎるか、「.」で終わっています。ビルド番号の最大長は 255 文字です。使用できない文字には、「"」、「/」、「:」、「<」、「>」、「\」、「|」、「?」、「@」、および「*」が含まれます。