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
答案1
根据发行版的不同,您将拥有“/etc/sysconfig/jenkins”或“/etc/default/jenkins”之一。
这将具有一个用于设置 Java 主目录位置的属性。通常所有选项都被注释掉,以显示文件可以配置的内容。
答案2
在 Jenkins 主页上,单击左侧的“管理 Jenkins”。访问“全局工具配置”菜单,在此菜单下,大约一半的位置应该显示“JDK 安装”。单击该按钮,它将打开一个新菜单,您可以在其中添加备用 JDK。添加后,进入要构建的项目并单击“配置”。同样,大约一半的位置将出现一个“JDK”下拉菜单。现在将出现新的 JDK,您可以选择它来构建您的项目。
但是,如果您的意思是希望整个服务从不同的 VM 运行,那就有点棘手了。Jenkins 启动脚本旨在尝试“猜测”您的 VM,以便更轻松地跨多种 Linux 版本进行安装。找到启动脚本(Red Hat RPM 安装将其放在 /etc/rc.d/init.d/jenkins 中)并通读它。您将找到一个标记为“候选”的部分,并注意循环如何遍历可能的 JVM可能在系统上。您可以编辑此列表以仅包含您想要使用的 VM,然后停止/启动以强制它使用您想要的 VM。请确保在编辑脚本之前复制它,以防万一。
答案3
这是针对碰巧遇到此问题的 Windows 用户(就像我一样)的。您需要设置系统环境变量 JAVA_HOME。
- 停止詹金斯服务
在 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"
启动詹金斯
答案4
定义JAVA_HOME
变量:
/etc/profile
使用您最喜欢的文本编辑器进行编辑。
export JAVA_HOME="path to java"
export PATH=$JAVA_HOME/bin:$PATH
然后
source /etc/profile
以应用更改。