Linux 环境 Jenkins 升级,启动失败问题排查

作者:Gakki

前言

systemctl start jenkins 重启 Jenkins 失败 | systemctl restart jenkins | systemctl status jenkins | Jenkins 升级,启动失败 | Linux 环境 Jenkins 升级,启动失败问题排查

1.前期准备

  1. 首先,找到旧版本 Jenkins.war 包的存放的位置,可以在 Jenkins 界面上找到。在 System Information (系统属性)里面可以看到 Jenkins.war 包 存放的地址。


    Jenkins.war 包 存放的地址
  2. 备注之前的 Jenkins.war 包(以防升级失败还可以继续用旧的 war 包)

  3. Jenkins 对应 Java 版本。不同的 Java 对应不同的Jenkins 版本号,如果发现服务器上的 Java 与要升级的 Jenkins 版本号不匹配,需要重新下载新的 Java 版本到服务器上。Jenkins 对应 Java 版本网址:Java Support Policy

    Java Support Policy

  4. 我这次要升级为最新的 Jenkins — V 2.479.2。查了下服务器上的 Java 版本是 1.8 ,不匹配最新的 Jenkins,需要升级。

2. 升级 Java 版本

注:如果你的 Java 版本匹配 Jenkins,那就跳过这步。

  1. 去 java 官网下载需要的版本。Java Downloads | Oracle 。我需要的版本是 Java 17。所以下载的是 Java 17 tar 包(根据自己的需求来下载对应版本)

    Java SE Development Kit 17.0.12

  2. 下载完成后,复制到 Linux 服务器上。解压到对应的文件夹。解压命令:tar -xvf jdk-17.0.12_linux-x64_bin.tar.gz

    解压 tar 包

  3. 设置环境变量,修改 vi /etc/profile ,在 profile 文件中添加如下内容并保存。其中, JAVA_HOME 请根据自己的实际安装路径及 JDK 版本配置。

export JAVA_HOME=/usr/lib/jvm/jdk-17.0.12
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
修改 vi /etc/profile
  1. 让修改生效,执行 source /etc/profile 命令。然后测试 Java 是否升级成功。执行 java -version 命令
    执行 ``` java -version ``` 命令

3. 启动新版本 Jenkins 失败,并排查问题

  1. 将最新下载的 Jenkins.war 包放到对应的文件夹,先让 Jenkins 停服,输入命令:systemctl stop jenkins。然后重启 systemctl start jenkins

  2. 如果启动成功,下面就不用看了。

  3. 启动失败?先回退 Jenkins 版本,用之前备份的 Jenkins.war 看看能不能启动成功。如果能启动成功,那看一下 jenkins 启动的 jdk 配置是不是我们刚才更新的版本。输入命令:systemctl status jenkins

    systemctl status jenkins

  4. 或者执行命令 : journalctl -xe,查看报错主要原因。

    journalctl -xe

  5. 发现跟我们最新下载的 Java 版本不一样。那就是我们没有改到 Jenkins 启动时用到的 Java 版本信息。

  6. 执行命令:vim /etc/init.d/jenkins。找到这里,将 Java 启动位置改为我们需要的。然后保存,再重启 systemctl start jenkins。启动成功,那有可能我们的 Java 版本还是不对。输入命令:systemctl status jenkins。查看 Java 版本是不是我们刚才改的。
    注:我们用的是旧版本 Jenkins.war 包启动的,按道理应该是启动失败,但如果启动成功,说明还是有问题。

    vim /etc/init.d/jenkins

  7. 执行命令:vim /usr/lib/systemd/system/jenkins.service,找到下面这个位置,修改为最新的 Java 版本。

    image.png

  8. 然后保存,在执行命令:systemctl start jenkins。执行失败,那说明我们以及将 Java 版本改好了。然后用新的 Jenkins.war 包,执行命令:systemctl start jenkins

  9. 到此,Jenkins 对应的 Java 版本信息对应上了。其实也不难发现,系统使用的是 Java 版本跟 Jenkins 启动时运行的 Java 版本是不一样。如果你想改成一样的,再第二步骤【 2. 升级 Java 版本】修改 vi /etc/profile 中的配置信息就行了。

i对比 Java 版本
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容