五、jenkins之升级jenkins
我这里使用自动升级,从jenkins2.440.3升级到2.452.3版本。
升级jenkinsjenkins2.440.3到2.504.3
点击jenkins的web页面有个升级按钮,他回自动下载war包,下载完成后重启jenkins,
升级原理
其实就是下载了jenkins高版本的jenkins.war包。不影响之前构建好的项目。
#可以看到升级的包
[root@localhost etc]# cd /home/jenkins/
[root@localhost jenkins]# ll
-rw-r--r--. 1 root root 94323745 7月 3 16:29 jenkins.war #这是新包
-rw-r--r--. 1 root root 93489042 4月 17 2024 jenkins.war.bak #这是之前的包,会自动备份
-rw-r--r--. 1 root root 94323745 7月 3 16:29 jenkins.war.tmp
升级后报错
发现无法启动,报如下错误:
查看jenkins日志:journalctl -u jenkins -f # 实时查看日志
7月 04 13:31:13 localhost.localdomain systemd[1]: Started Jenkins Server.
7月 04 13:31:14 localhost.localdomain java[4491]: Running with Java 11 from /usr/lib/jvm/java-11-openjdk-11.0.23.0.9-2.el7_9.x86_64, which is older than the minimum required version (Java 17).
7月 04 13:31:14 localhost.localdomain java[4491]: Supported Java versions are: [17, 21]
7月 04 13:31:14 localhost.localdomain java[4491]: See https://jenkins.io/redirect/java-support/ for more information.
7月 04 13:31:14 localhost.localdomain systemd[1]: jenkins.service: main process exited, code=exited, status=1/FAILURE
7月 04 13:31:14 localhost.localdomain systemd[1]: Unit jenkins.service entered failed state.
7月 04 13:31:14 localhost.localdomain systemd[1]: jenkins.service failed.
7月 04 13:31:14 localhost.localdomain systemd[1]: jenkins.service holdoff time over, scheduling restart.
7月 04 13:31:14 localhost.localdomain systemd[1]: Stopped Jenkins Server.
7月 04 13:31:14 localhost.localdomain systemd[1]: Started Jenkins Server.
7月 04 13:31:14 localhost.localdomain java[4514]: Running with Java 11 from /usr/lib/jvm/java-11-openjdk-11.0.23.0.9-2.el7_9.x86_64, which is older than the minimum required version (Java 17).
7月 04 13:31:14 localhost.localdomain java[4514]: Supported Java versions are: [17, 21]
7月 04 13:31:14 localhost.localdomain java[4514]: See https://jenkins.io/redirect/java-support/ for more information.
7月 04 13:31:14 localhost.localdomain systemd[1]: jenkins.service: main process exited, code=exited, status=1/FAILURE
7月 04 13:31:14 localhost.localdomain systemd[1]: Unit jenkins.service entered failed state.
7月 04 13:31:14 localhost.localdomain systemd[1]: jenkins.service failed.
7月 04 13:31:15 localhost.localdomain systemd[1]: jenkins.service holdoff time over, scheduling restart.
7月 04 13:31:15 localhost.localdomain systemd[1]: Stopped Jenkins Server.
7月 04 13:31:15 localhost.localdomain systemd[1]: Started Jenkins Server.
7月 04 13:31:15 localhost.localdomain java[4533]: Running with Java 11 from /usr/lib/jvm/java-11-openjdk-11.0.23.0.9-2.el7_9.x86_64, which is older than the minimum required version (Java 17).
7月 04 13:31:15 localhost.localdomain java[4533]: Supported Java versions are: [17, 21]
7月 04 13:31:15 localhost.localdomain java[4533]: See https://jenkins.io/redirect/java-support/ for more information.
7月 04 13:31:15 localhost.localdomain systemd[1]: jenkins.service: main process exited, code=exited, status=1/FAILURE
7月 04 13:31:15 localhost.localdomain systemd[1]: Unit jenkins.service entered failed state.
7月 04 13:31:15 localhost.localdomain systemd[1]: jenkins.service failed.
7月 04 13:31:15 localhost.localdomain systemd[1]: jenkins.service holdoff time over, scheduling restart.
7月 04 13:31:15 localhost.localdomain systemd[1]: Stopped Jenkins Server.
7月 04 13:31:15 localhost.localdomain systemd[1]: Started Jenkins Server.
7月 04 13:31:16 localhost.localdomain java[4552]: Running with Java 11 from /usr/lib/jvm/java-11-openjdk-11.0.23.0.9-2.el7_9.x86_64, which is older than the minimum required version (Java 17).
7月 04 13:31:16 localhost.localdomain java[4552]: Supported Java versions are: [17, 21]
7月 04 13:31:16 localhost.localdomain java[4552]: See https://jenkins.io/redirect/java-support/ for more information.
7月 04 13:31:16 localhost.localdomain systemd[1]: jenkins.service: main process exited, code=exited, status=1/FAILURE
7月 04 13:31:16 localhost.localdomain systemd[1]: Unit jenkins.service entered failed state.
7月 04 13:31:16 localhost.localdomain systemd[1]: jenkins.service failed.
7月 04 13:31:16 localhost.localdomain systemd[1]: jenkins.service holdoff time over, scheduling restart.
7月 04 13:31:16 localhost.localdomain systemd[1]: Stopped Jenkins Server.
7月 04 13:31:16 localhost.localdomain systemd[1]: Started Jenkins Server.
7月 04 13:31:16 localhost.localdomain java[4571]: Running with Java 11 from /usr/lib/jvm/java-11-openjdk-11.0.23.0.9-2.el7_9.x86_64, which is older than the minimum required version (Java 17).
7月 04 13:31:16 localhost.localdomain java[4571]: Supported Java versions are: [17, 21]
7月 04 13:31:16 localhost.localdomain java[4571]: See https://jenkins.io/redirect/java-support/ for more information.
7月 04 13:31:16 localhost.localdomain systemd[1]: jenkins.service: main process exited, code=exited, status=1/FAILURE
7月 04 13:31:16 localhost.localdomain systemd[1]: Unit jenkins.service entered failed state.
7月 04 13:31:16 localhost.localdomain systemd[1]: jenkins.service failed.
7月 04 13:31:16 localhost.localdomain systemd[1]: jenkins.service holdoff time over, scheduling restart.
7月 04 13:31:16 localhost.localdomain systemd[1]: Stopped Jenkins Server.
7月 04 13:31:16 localhost.localdomain systemd[1]: start request repeated too quickly for jenkins.service
7月 04 13:31:16 localhost.localdomain systemd[1]: Failed to start Jenkins Server.
7月 04 13:31:16 localhost.localdomain systemd[1]: Unit jenkins.service entered failed state.
7月 04 13:31:16 localhost.localdomain systemd[1]: jenkins.service failed.
问题原因:
问题根源是 Java 版本不兼容,升级到 Java 17 即可解决
解决方法:
卸载
#查看已安装的jdk版本
[root@localhost ~]# rpm -qa | grep -i openjdk
java-11-openjdk-11.0.23.0.9-2.el7_9.x86_64
java-11-openjdk-headless-11.0.23.0.9-2.el7_9.x86_64
java-11-openjdk-devel-11.0.23.0.9-2.el7_9.x86_64#卸载
yum remove -y java-11-openjdk java-11-openjdk-headless java-11-openjdk-devel java-11
安装
yum install -y epel-release # 启用 EPEL 仓库(如果未启用)#启用后,可以看到epel.repo、epel-testing.repo2个repo文件
[root@localhost yum.repos.d]# ll
总用量 48
-rw-r--r--. 1 root root 2523 6月 27 09:31 CentOS-Base.repo
-rw-r--r--. 1 root root 1309 10月 23 2020 CentOS-CR.repo
-rw-r--r--. 1 root root 649 10月 23 2020 CentOS-Debuginfo.repo
-rw-r--r--. 1 root root 314 10月 23 2020 CentOS-fasttrack.repo
-rw-r--r--. 1 root root 630 10月 23 2020 CentOS-Media.repo
-rw-r--r--. 1 root root 1331 10月 23 2020 CentOS-Sources.repo
-rw-r--r--. 1 root root 8515 10月 23 2020 CentOS-Vault.repo
-rw-r--r--. 1 root root 616 10月 23 2020 CentOS-x86_64-kernel.repo
-rw-r--r--. 1 root root 951 10月 3 2017 epel.repo
-rw-r--r--. 1 root root 1050 10月 3 2017 epel-testing.repo# (可选)清理旧的 yum 缓存并更新元数据(确保获取最新版本)
yum clean all # 清理缓存
yum makecache # 重新生成缓存# 安装 Java 17
sudo yum install -y java-17-openjdk java-17-openjdk-devel#以上方式安装失败,使用下面方式安装jdk11
# 安装 Amazon Corretto 17(推荐)
sudo rpm --import https://yum.corretto.aws/corretto.key
sudo curl -L -o /etc/yum.repos.d/corretto.repo https://yum.corretto.aws/corretto.repo
sudo yum install -y java-17-amazon-corretto-devel
遇到的坑
需要修改,并生效
[root@localhost target]# vi /etc/proxyfile
[root@localhost target]# cd /etc/
[root@localhost etc]# source /etc/profile