詹金斯 JRE 更新
Posted
技术标签:
【中文标题】詹金斯 JRE 更新【英文标题】:Jenkins JRE Update 【发布时间】:2018-09-02 14:50:15 【问题描述】:我正在 Windows 上运行 Jenkins 服务器,该服务器使用 Jenkins 文件夹中的 JRE。版本是1.8.0_66,但是更新中心使用的Let's Encrypt证书不兼容这个版本,所以需要更新一下。
是否有可用的独立 JRE 可以替换此文件夹的内容,或者是否有在 Jenkins 本身内更新此 JRE 的标准方法?
【问题讨论】:
【参考方案1】:您可以通过here 在本地计算机上安装 Java。通常在 Windows 上,它会将其安装在像 C:\Program Files\Java\jdk1.8.0_161 这样的文件夹中。然后只需将 JRE 文件夹 C:\Program Files\Java\jdk1.8.0_161\jre 及其所有子文件夹和文件从本地计算机复制到 Jenkins 文件夹 (JAVA_HOME) 中的 JRE,以便替换其内容。您可以从 Jenkins 系统信息中看到 JAVA_HOME。您可以在此之前归档旧的 JRE 安装文件。
第二种选择是直接从here 在您的 Jenkins 服务器上安装 JRE。它将创建一个像这样的目录 C:\Program Files\Java\jre1.8.0_161。然后您可以将此文件夹内容复制到 Jenkins_home/jre 文件夹或您的 Jenkins 正在使用的文件夹中。
第三种选择是在您的 Jenkins 服务器上安装 JRE,然后更改 JAVA_HOME 变量,以便 Jenkins 为您的操作系统使用标准文件夹。更多信息here.
您可能需要将证书导入 java 密钥库。见How to import a .cer certificate into a java keystore?
【讨论】:
我最后选择了第二个选项。我不知道 JRE 实际上只是那个文件夹,并且没有其他必须安装到操作系统中的依赖项。这解决了我的问题,谢谢。【参考方案2】:这适用于碰巧遇到这个问题的 Windows 用户(就像我一样)。您需要设置系统环境变量 JAVA_HOME。
-
停止詹金斯服务
在jenkins基础文件夹中编辑jenkins.xml -
<env name="JENKINS_HOME" value="%BASE%"/>
<!--
if you'd like to run Jenkins with a specific version of Java, specify a full path to java.exe.
The following value assumes that you have java in your PATH.
-->
<executable>%JAVA_HOME%\jre\bin\java</executable>
<arguments>-Xrs -Xmx256m -Dhudson.lifecycle=hudson.lifecycle.WindowsServiceLifecycle -jar "%BASE%\jenkins.war" --httpPort=8080 --webroot="%BASE%\war"</arguments>
将 %BASE% 更改为 %JAVA_HOME%
<env name="JENKINS_HOME" value="%BASE%"/>
<!--
if you'd like to run Jenkins with a specific version of Java, specify a full path to java.exe.
The following value assumes that you have java in your PATH.
-->
<executable>%JAVA_HOME%\jre\bin\java</executable>
<arguments>-Xrs -Xmx256m -Dhudson.lifecycle=hudson.lifecycle.WindowsServiceLifecycle -jar "%BASE%\jenkins.war" --httpPort=8080 --webroot="%BASE%\war"</arguments>
-
启动詹金斯
【讨论】:
以上是关于詹金斯 JRE 更新的主要内容,如果未能解决你的问题,请参考以下文章