2017-10-18 16 views
0

VSTSでは、私はDockerイメージを構築しようとしています。私の "Build an Image"ステップでは、出力ログを見ると、 "Build.SourceVersionが設定されていないため、ソースタグを取得できません"という黄色のテキストが表示されます。おそらく、これは「ソースタグを含める」ボックスをチェックしたためです。私は直ちにbashのステップを追加し、echo $(Build.SourceVersion)echo $BUILD_SOURCEVERSIONを出力ログに空にしました。VSTS - Build.SourceVersionが設定されていないため、ソースタグを取得できません。

https://docs.microsoft.com/en-us/vsts/build-release/concepts/definitions/build/variables?tabs=batchに基づいて、私はあらかじめ定義された変数をうまく使うことができます。

enter image description here

それは、「GitHubのは」

(私たちは、GitHubのエンタープライズを使用している)私は何かが足りないではない私は、ソースセクションの「リモートリポジトリ」に接続したことは注目に値するかもしれこの "定義済みの変数"について

答えて

0

この問題を回避するには、その後、Logging Commands(例えばecho "##vso[task.setvariable variable=tag;]tagvalue")を介しての変数(例えばtag変数)を作成/設定、(バットを実行するためのコマンドラインタスク、またはPowerShellのタスクを追加する)あなたはGitのコマンドを通じてタグを得ることができるということですその後、このタグを追加の画像タグ Dockerタスクの入力ボックス($(tag))に指定することができます。

+0

私はこの戦略が好きですが、bashを使用する以外は同様のことをする方法がありますか?たとえば、 'bash'で変数を設定し、別の下流環境で使用する方法がありますか? –

+0

@sgどのダウンストリーム環境ですか?あなたはリリース時の環境を意味しますか?いいえ、現在の環境で使用できます。他の環境に同じタスクを追加して、変数を設定することができます。 –

+0

別のビルドステップ。その変数をbashビルドステップで使用し、直後に別のbashステップを追加すると、変数を再度使用できなくなります。最初のbashステップでエクスポートしようとしましたが、2番目のbashステップには反映されませんでした。 –

関連する問題