12

ネイティブ C コードを含む Maven プロジェクトをビルドすることになっているマシンにジェンキンス スレーブをセットアップしています。ただし、マシン自体に問題があることがわかっています。マシンはかなり古いプログラムをホストしており、maven が適切に機能するために必要な JAVA_HOME などの多くの環境変数を使用しています。スレーブ マシンで maven を実行するには、これらの環境変数を設定する必要があります。maven または maven を実行する前に、ssh などの他の依存関係は実行されません。変数を永続的に変更することはできないため、maven ビルドを実行する前に環境変数を変更する方法が必要です。

mvn を実行する前に環境変数を設定することでビルドを手動で実行でき、ビルドは魅力的に機能します。しかし、ビルドを自動的にトリガーするにはジェンキンが必要です。

私が見ているように、次のいずれかが必要です:mavenを実行する前に環境変数を設定するようにjenkinsを設定するか、特定の環境変数の代わりに特定の値を使用するmavenを設定します(jenkinsが実行を処理できるように)

あなたの助けに感謝します。

4

2 に答える 2

16

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

  • 環境変数を設定するようにノードを構成します (ノードのプロパティで、「環境変数」をチェックします)。
  • ツールの場合、Jenkins は必要な環境自体を設定します。ノード構成では、メイン構成で構成されているツールに異なるパスを設定できます ([ノード プロパティ] の下で、[ツールの場所] を確認します)。このオプションを使用するためにプラグインは必要ないと思います。
  • EnvInject プラグインを使用します( Setenv プラグインは非推奨です)
  • Envfile プラグインを使用する
  • Maven を手動で起動する前に、環境変数を設定します。同じビルドステップで両方が必要です。(最悪の解決策)
  • その特定のノードでのみ有効な Java/Maven 構成を作成し、それをジョブで使用します。これは、ジョブが特別なノードでのみ実行され、それ以外の場所では実行されない場合にのみ機能します。

最初または2番目のオプションをお勧めします

于 2013-10-03T16:01:51.933 に答える