2013-10-03 18 views
11

ネイティブCコードを含むmavenプロジェクトをビルドするはずのマシンにjenkinsスレーブを設定しています。しかし、機械自体は問題であることが証明されています。 マシンはかなり古いプログラムをホストしています。これは、JAVA_HOMEのような環境変数を大量に使用しているため、mavenが正しく機能する必要があります。 スレーブマシンでmavenを実行するには、これらの環境変数を設定する必要があります.MavenやMavenを実行する前にsshなどの依存関係は実行されません。変数を永久に変更することはできないので、mavenビルドを実行する前にen環境変数を変更する方法が必要です。mavenを実行する前に環境変数を設定する(jenkinsビルドで)

ビルドはmvnを実行する前に環境変数を設定することで手動で実行でき、ビルドはチャームのように動作します。しかし、ビルドを自動的に開始するにはジェンキンが必要です。私はそれを見たよう

は私がするか必要があります。 設定のジェンキンスさんは達人 または 設定のMavenを実行する前に、環境変数を設定する(ジェンキンスが実行を扱うことができるように)代わりに、特定の環境変数の特定の値を使用するように

あなたのご協力が大変ありがとうございます。

答えて

16

多くのオプションがあります。

  • 設定ジェンキンスが必要な環境に自分自身を設定するツールのため
  • (ノードプロパティの下で、「環境変数」を確認してください)環境変数を設定するノード。ノード構成では、メインの構成(ノードのプロパティで「ツールの場所」をチェック)で構成されているツールに異なるパスを設定できます。このオプションを使用するにはプラグインは必要ありません。
  • Envfile Plugin
  • を使用
  • Setenv Pluginが推奨されません)EnvInject pluginを使用してのMavenを手動で起動する前に環境変数を設定します。両方を同じビルドステップで実行する必要があります。 (最悪の解決策)
  • その特定のノードでのみ有効なjava/maven設定を作成し、あなたの仕事で使用します。これはあなたの仕事があなたの特別なノードと他の場所でしか動かない場合にのみ有効です。

Iは、第一又は第二のオプション

0

私はJenkinsがジョブ構成用のUIを通じて環境変数の設定をサポートしているかもしれないと考えています。そうでない場合は、自分の環境を設定するスクリプトを作成して、ビルドジョブの実行時にジェンキンズがそのスクリプトを実行するようにすることができます。

+0

を示唆はい、ジェンキンスは、環境変数を設定するには、いくつかの異なる方法をサポートしています。 –

+0

@PeterSchuetzeのお手伝いをありがとう! – chad

関連する問題