web-dev-qa-db-ja.com

Java Linux Linux Jenkinsサーバーが使用するJREを変更する方法はありますか?

JenkinsサーバーがLinuxマシンでJava= 1.7で実行されています。特定のプラグインを実行できるように、サーバーを1.8に変更する必要があります。

LinuxマシンにはJava 1.8 JDK/JREがインストールされていますが、Jenkinsサーバーにそれを使用するように指示する方法が見つかりませんか?Windowsサーバーにこれを行う方法のガイドを見つけましたが、 Linux Jenkinsサーバーに関連または転送するものはありません。

LinuxのJenkinsサーバーが使用するJREを変更する方法はありますか?

これのLinuxバージョンのように: https://dzone.com/articles/make-jenkins-windows-service

8
ubergam3r

ディストリビューションに応じて、「/ etc/sysconfig/jenkins」または「/ etc/default/jenkins」のいずれかになります。

これには、Javaホームの場所を設定するプロパティがあります。通常、すべてのオプションはコメントアウトされており、ファイルが構成できる内容を示しています。

1
David Hutchison

Jenkinsのメインページで、左側にある[Manage Jenkins]をクリックします。 「Global Tool Configuration」メニューにアクセスします。このメニューの下には、「JDK Installations」と書かれているはずの半分ほど下の場所があります。そのボタンをクリックすると、新しいJDKを追加できるメニューが開きます。追加したら、ビルドするプロジェクトに移動し、[構成]をクリックします。繰り返しますが、半分ほど下がると「JDK」ドロップダウンになります。新しいJDKが表示され、それを選択してプロジェクトをビルドできます。

ただし、サービス全体を別のVMから実行する場合は、少し注意が必要です。 Jenkins起動スクリプトは、VMを試して「推測」するように記述されているため、複数のLinuxフレーバーにまたがって簡単にインストールできます。起動スクリプトを見つけます(Red Hat RPMインストールでは、/ etc/rc.dに配置されます/init.d/jenkins)とそれを読みます。「candidates」というラベルの付いたセクションが見つかり、システム上でmightである可能性のあるJVMでループがどのように実行されるかがわかります。これを編集できますVM使用したい場合のみにリストし、停止/開始して強制的にVMを使用したい場合。スクリプトをコピーしてから念のために編集します。

1
Matakaheru

Java_HOME変数:

編集/etc/profileお好みのテキストエディタで。

export Java_HOME="path to Java"
export PATH=$Java_HOME/bin:$PATH

その後

source /etc/profile

変更を適用するため。

0
remoteitguy

これを行う1つの方法は、スタートアップファイルの編集:/etc/init.d/jenkinsです。

デフォルトではJavaを実行するだけなので、PATH環境変数の内容に依存します。次の行を編集して、カスタムJava実行可能ファイルを指定できます。

`/etc/init.d/jenkins`

に:

Java='/usr/lib/jvm/Java-8-openjdk-AMD64/jre/bin/Java'

次に、変更を有効にするためにsystemctl daemon-reloadを実行する必要があります。

これは、JenkinsがJava 8をJava 11がデフォルトとして設定されているUbuntuシステムで使用するようにするために、私がしなければならなかったものです。 apt remove openjdk-11-jdk-headlessまたはupdate-alternatives --config Javaを選択して、Java 8をデフォルトとして選択します。スタートアップファイルを編集する際の注意点は、Jenkinsが更新されると上書きされる可能性があることです。目を離さないようにしましょう。

0
simlev

これは、(私がしたように)この質問に行き当たりばったりのWindowsユーザー向けです。システム環境変数Java_HOMEを設定する必要があります。

  1. jenkinsサービスを停止する
  2. jenkinsベースフォルダーで編集jenkins.xmlを編集-この行で「%Java_HOME%\ jre\bin\Java」%BASE%を%Java_HOME%に変更

    %Java_HOME%\ jre\bin\Java -Xrs -Xmx256m -Dhudson.lifecycle = hudson.lifecycle.WindowsServiceLifecycle -jar "%BASE%\ jenkins.war" --httpPort = 8080 --webroot = "%BASE%\ war"

  3. ジェンキンスを始める

0
Barry MSIH

これはMacintoshインストーラーのバージョンに固有であり(私がそうであったように、ここにもたらされたもののために)、パスはJava Jenkinsが意図するバージョンに固有です) Javaテストに必要なバージョンと共存する必要があります。醜いですが、そこにあったもの(ハードコードされたパスの複製)や他の提案よりも醜くはありません。みつけることができた。

/Library/Application\ Support/Jenkins/jenkins-runner.shの最初と最後に以下を追加/変更しました:

javaBin=/Library/Java/JavaVirtualMachines/jdk1.8.0_181.jdk/Contents/Home/bin/Java
…
echo $javaBin $javaArgs -jar "$war" $args
exec $javaBin $javaArgs -jar "$war" $args

確かにこれをorg.jenkins-ci.plistの設定にした方がいいでしょうが、それでもjenkins-runner.shを変更する必要があるため、これは私たちの目的のための最小限の変更でした。

0
Flash Sheridan