2017-05-04 7 views
0

Jenkinsでは、Windowsバッチ変数をビルドパラメータとしてエクスポートできますか?私はWindowsのバッチブロック内のビルドパラメータを使用して知っている、私はそれをたくさん使用します。JenkinsのWindowsバッチ変数をビルドパラメータとしてエクスポートするにはどうすればいいですか?

は、例えば、私は

SET A="MyVar" 

のように、言って、変数を作成し、Windowsバッチブロックを持っているが、それは可能で、それのようにそれを渡し、ビルドパラメータをMSBuildのをして実行するには、それを使用することです/p:AssemblyName=%A%または/p:AssemblyName=${A}の(作業中の)構文?

これらのどちらも機能していないようです(私の変数は常に空です)。


更新:@TuffwerはEnvInjectプラグインを使用して提案しました。私は努力してきましたが、今のところ成功していません。ここで私は私の本来の意図を説明するために作成されたサンプルです:私は内容がビルドパラメータの一つに適用される条件に基づいて決定される変数を作成したい

enter image description here

。次に、/ p:[Key] = [Value]構文(私が間違っていない場合はJenkins MsBuildプラグインが必要)を使用して、その変数をMsBuildコマンドラインのパラメータとして使用したいとします。

EnvInjectを使用してもこれを動作させることはできません。私はWindowsのバッチ変数の値をさらにビルドステップの中で参照する必要があります。


更新II:私は私のために仕事をしたEnvironment Script Plugin、になりました。

+1

私の答え[ここ](http://stackoverflow.com/a/42868335/5220640)を参照してください。 tldr:ビルド・ステップで定義された変数は、常にそのビルド・ステップでローカルにスコープされます。ビルド環境の残りの部分にそれらを公開する必要があります。これを行う1つの方法は、envinjectプラグインを使用することです。 – Tuffwer

+0

@ Tuffwer:ありがとう。私のアップデートを見てください。ここで、EnvInjectでこれまでの詳細と私の試みを追加しました。私はまだこれをどうやってやるのか分からない。 – Veverke

答えて

0

TuffwerはEnvInjectプラグインを使用して提案していますが、私が意図したことを達成できませんでした。 EnvInjectの試行を含めて私の投稿を編集しましたが、その間にもう一度別の解決策を探しました。

今回私はEnvironment Script Pluginに出くわしました。これは私の仕事でした。

enter image description here

ステップ:

  1. マークGenerate environment variables from script
  2. あなたは "輸出" する各変数に対して、あなたはecho [varName]=[value]文を発行する必要があります。

それだけです。 ビルドパラメータMyBoolの値に応じて、TRUE .exeまたはFALSE .exeという名前のアセンブリが作成されます。

関連する問題