Jenkins升级的问题

602 阅读2分钟

开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第15天,点击查看活动详情

extended choice paramter插件

image.png

提示和我的Jenkins版本不兼容,于是我想着Jenkins的自动升级服务会安全一点,于是升级了:

image.png

结果等待了很长时间后,Jenkins直接打不开了

后台查看原因

登录Jenkins那台主机,打开services.msc发现Jenkins已经停止了服务,正常的应该是这样子:

image.png

当我再次手动启动后,报错:

image.png

查看Jenkins.err.log

Running with Java 8 from D:\Program Files (x86)\Jenkins\jre, which is older than the minimum required version (Java 11).
Supported Java versions are: [11, 17]
See https://jenkins.io/redirect/java-support/ for more information.
Picked up JAVA_TOOL_OPTIONS: -Dfile.encoding=UTF-8

image.png

大概意思就是:Jenkins最新版本使用的java是11-17,Jenkins发现使用的java8

看了下系统使用的java版本:1.8

C:\Users\cc\Desktop>java -version
java version "1.8.0_202"
Java(TM) SE Runtime Environment (build 1.8.0_202-b08)
Java HotSpot(TM) 64-Bit Server VM (build 25.202-b08, mixed mode)

这里Jenkins使用的是自定义的java,在jenkins.xml里面有详细的配置:

<executable>%BASE%\jre\bin\java</executable>
D:\Program Files (x86)\Jenkins\jre\bin>java -version
Picked up JAVA_TOOL_OPTIONS: -Dfile.encoding=UTF-8
java version "1.8.0_144"
Java(TM) SE Runtime Environment (build 1.8.0_144-b01)
Java HotSpot(TM) Client VM (build 25.144-b01, mixed mode)

我尝试着下载了2.375.1,部署Jenkins,报错和上边的一模一样

G:\>java -jar jenkins.war
Running with Java 8 from C:\Program Files\Java\jre1.8.0_202, which is older than the minimum required version (Java 11).
Supported Java versions are: [11, 17]
See https://jenkins.io/redirect/java-support/ for more information.

可以断定,就是java版本的问题:

JDK8或者JDK1.8是由于自从JDK1.5/JDK5命名方式改变后遗留的新旧命令方式问题。所以JDK8或者JDK1.8也是同一个东西。

于是我下载了java11,然后复制到Jenkins使用的java目录,重新启动服务,仍旧启动不起来,这次新的报错:

Unable to read D:\Program Files (x86)\Jenkins\jobs\引导测试\config.xml

网上有人说是因为不同的Jenkins版本,配置文件不兼容导致。

还原Jenkins

  • 下载之前版本的War Jenkins Packages
  • 替换Jenkins目录下的war包
  • 确认Jenkins使用的java版本
  • 重新启动服务

成功还原,差点被开除!不折腾了