Bootstrap

Jenkins升级到最新版本后无法启动

1. 场景还原

最近在web界面将jenkins升级到最新版本后,后台无法启动jenkins服务,服务状态如下:

运行jenkins命令提示invalid Java version

jenkins --version
jenkins: invalid 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)

 

2. 错误原因

最新版本的 Jenkins 需要更高的 Java 版本(例如 Java 11 或更高)

查看Jenkins官方文档发现最新版本的Jenkins需要Java 17或更高,安装支持的Java版本即可解决问题。

3. 解决方案

1. 安装Java 17

此处以CentOS 7为例,其它操作系统请自行查找

安装 AdoptOpenJDK 仓库

yum install -y wget
wget https://packages.adoptium.net/artifactory/api/gpg/key/public
rpm --import public

创建 AdoptOpenJDK 的 yum 仓库配置文件

vi /etc/yum.repos.d/adoptium.repo

添加以下内容:

[adoptium]
name=AdoptOpenJDK
baseurl=https://packages.adoptium.net/artifactory/rpm/centos/7/x86_64/
enabled=1
gpgcheck=1
gpgkey=https://packages.adoptium.net/artifactory/api/gpg/key/public

安装 Java 17

yum install -y temurin-17-jdk

验证安装

java -version

2. 切换 Java 版本

安装后,如果系统中有多个版本的 Java,可能需要切换默认的 Java 版本。

列出可用的 Java 版本

alternatives --config java

选择 Java 17 的路径: 按提示输入对应的选项编号

验证切换成功

java -version

3. 配置 Jenkins 的 JAVA_HOME

编辑 Jenkins 的配置文件

vi /etc/sysconfig/jenkins

设置 JAVA_HOME 路径为 Java 17 安装目录

JAVA_HOME=/usr/lib/jvm/temurin-17-jdk

保存后重新加载配置并重启 Jenkins

source /etc/sysconfig/jenkins
systemctl restart jenkins

4. 验证 Jenkins 是否正常运行

执行命令

jenkins --version

或访问web页面,此时jenkins正常运行。

悦读

道可道,非常道;名可名,非常名。 无名,天地之始,有名,万物之母。 故常无欲,以观其妙,常有欲,以观其徼。 此两者,同出而异名,同谓之玄,玄之又玄,众妙之门。

;