Hudsonスレーブで実行しているプロジェクトがいくつかあります。それらの1つで、デフォルト(私の環境ではJava5)ではなく、Java6でAntを実行してください。
プロジェクト構成ビューで、私は次のいずれかを見つけることを望んでいました:
上記のいずれかを行う方法はありますか?これらの機能の1つが利用可能である場合、そのアクセス方法がわかりません。 Hudson 1.285で実行しています。
可能であれば、「Antoke」操作ではなく「Shell実行」操作の使用を避けます。私のスレーブはz/OS上にあり、Hudsonはこのプラットフォームで一時シェルスクリプトを正しく作成していないようです(おそらくエンコードの問題です) )。
ビルドをパラメーター化すると、追加したすべての文字列パラメーターが環境変数になることがわかります。このアプローチを使用すると、Antによって取得されるJava_HOMEを含む、ビルドの環境変数を設定できます。
だから私にとって最良の解決策は:
ビルド文字列パラメーターが環境変数になるかどうかは明らかではありませんが、環境変数になるとわかったら、この方法でJDKを設定するのは簡単です。
Hudsonメーリングリストの開発者 推奨される別のアプローチ マスターJDK構成を使用し、ノード構成でオーバーライドします...しかし、Java_HOME env varを設定するだけで簡単に思えます。
Hudsonインスタンスで使用するためにJava 5とJava 6の両方が設定されています。
「Hudsonの管理」->「構成システム」で、いくつかのJDKを追加し、Java_HOMEのパスを指定できます。次に、各ジョブの構成で、そのジョブを実行するJDKを選択しました。
個々のスレーブエージェントは、それらを実行するシステムで特定のJDKを使用するように構成できます。
ノードの管理>スレーブ>構成>環境変数
例えば
名前:Java_HOME値:C:\ Program Files(x86)\ Java\jdk1.6.0_45 \
この問題は、2つの異なるJava Hudsonノードを使用して管理しました。1つはJava 6用、もう1つはJava 7.用です。必要に応じて、ジョブを異なるノードに割り当てました。
最善の方法は、
このように使えます。
バッチコマンドウィンドウでは、最初に変数名Java_HOMEを設定できます。このカスタム変数名をPATH変数に割り当てます。次に、antスクリプトを呼び出して特定のファイルを選択できます。
例:
set Java_HOME = C:/Java/jdk1.6.1
PATH =%Java_HOME%/ bin;%PATH%
ant build.xml
インストールされているJDKがJDK 8であるという問題がありましたが、JenkinsがJDK 7を使用することを望んでいました。したがって、JDK 7をJenkinsビルドボックスにインストールした後、
Jenkins構成にJDKパスを追加しました。
Jenkins-> Jenkinsの管理->システムの構成-> JDK-> JDK名とパスを追加
また、jenkins-runner.shを編集します。次の行を追加します。
java_HOME = ""をエクスポート
最後の2行を読み取るように変更します。
echo "/ bin/Java" $ javaArgs -jar "$ war" $ args
exec "/ bin/Java" $ javaArgs -jar "$ war" $ args
Setenvプラグインをご覧ください。そこで、Java_HOME = C:/Java/jdk1.6.1 PATH =%Java_HOME%/ bin;%PATH%のような変数を設定できます。
このプロジェクトのカスタム環境変数を設定する方法。これにより、Java_HOMEをJDK6の場所に設定できます。これにより、Antが必要に応じてJava6で動作するようになります。
Antのビルドステップを構成するときに、[Avoke Ant]で[Advanced]をクリックすると、カスタムJava=オプションを設定できます。画面上のヘルプでは次のように述べています。
ビルドでカスタムANT_OPTSが必要な場合は、ここで指定します。通常、これはJava使用するメモリ制限、たとえば-Xmx512mを指定するために使用できます。他のAntオプション(-libなど)は[Antターゲット]フィールドに移動する必要があります。
ただし、これはJDKが動作するためには機能しないと感じています。
Manage Hudson
/Configure System
の下で、このHudsonインスタンスの複数のJDKインストールを構成しましたか?