我有一台装有 Ubuntu 18.04 的虚拟机,其中 JDK 12 是默认 Java。我想在其上设置 Jenkins 服务器,由于它尚不支持 JDK 12,因此我已在其中安装了 JRE 8 以支持 Jenkins。
如何配置 Jenkins 以使其使用这个 JRE8 而不是 JDK12?
答案1
在了解了 Jenkins 如何允许我们覆盖配置和调试初始化脚本之后,我找到了多种方法来解决这种情况。
覆盖 /etc/default/jenkins 中的 PATH 变量(我更喜欢这个解决方案)PATH=<你的 JAVA 的路径>
修改 /etc/init.d/jenkins 中的 PATH 变量(将路径添加到 java 前缀)PATH=<你的 JAVA 的路径>:/bin:/usr/bin:/sbin:/usr/sbin
强制 Jenkins 使用您在 /etc/init.d/jenkins JAVA='<PATH to your JAVA>/java' 中指定的 Java
注意:<PATH to your JAVA> 是 Java 位置的绝对路径,例如 1. 如果是 JDK,则为 /usr/lib/jvm//bin 2. 如果是 JRE,则为 /usr/lib/jvm//jre/bin
答案2
自从 systemd 出现以来,我们可以JENKINS_JAVA_CMD
在一个插入文件中覆盖:
/etc/systemd/system/jenkins.service.d/override.conf
[Service]
Environment="JENKINS_JAVA_CMD=/usr/lib/jvm/temurin-17-jdk-amd64/bin/java"
然后运行:
systemctl daemon-reload
systemctl restart jenkins.service
/etc/default/jenkins
并且/etc/init.d/jenkins
似乎被完全忽略了。