Linux 環(huán)境 Jenkins 升級,啟動失敗問題排查

作者:Gakki

前言

systemctl start jenkins 重啟 Jenkins 失敗 | systemctl restart jenkins | systemctl status jenkins | Jenkins 升級,啟動失敗 | Linux 環(huán)境 Jenkins 升級,啟動失敗問題排查

1.前期準(zhǔn)備

  1. 首先,找到舊版本 Jenkins.war 包的存放的位置,可以在 Jenkins 界面上找到。在 System Information (系統(tǒng)屬性)里面可以看到 Jenkins.war 包 存放的地址。


    Jenkins.war 包 存放的地址
  2. 備注之前的 Jenkins.war 包(以防升級失敗還可以繼續(xù)用舊的 war 包)

  3. Jenkins 對應(yīng) Java 版本。不同的 Java 對應(yīng)不同的Jenkins 版本號,如果發(fā)現(xiàn)服務(wù)器上的 Java 與要升級的 Jenkins 版本號不匹配,需要重新下載新的 Java 版本到服務(wù)器上。Jenkins 對應(yīng) Java 版本網(wǎng)址:Java Support Policy

    Java Support Policy

  4. 我這次要升級為最新的 Jenkins — V 2.479.2。查了下服務(wù)器上的 Java 版本是 1.8 ,不匹配最新的 Jenkins,需要升級。

2. 升級 Java 版本

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

  1. 去 java 官網(wǎng)下載需要的版本。Java Downloads | Oracle 。我需要的版本是 Java 17。所以下載的是 Java 17 tar 包(根據(jù)自己的需求來下載對應(yīng)版本)

    Java SE Development Kit 17.0.12

  2. 下載完成后,復(fù)制到 Linux 服務(wù)器上。解壓到對應(yīng)的文件夾。解壓命令:tar -xvf jdk-17.0.12_linux-x64_bin.tar.gz

    解壓 tar 包

  3. 設(shè)置環(huán)境變量,修改 vi /etc/profile ,在 profile 文件中添加如下內(nèi)容并保存。其中, JAVA_HOME 請根據(jù)自己的實際安裝路徑及 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. 讓修改生效,執(zhí)行 source /etc/profile 命令。然后測試 Java 是否升級成功。執(zhí)行 java -version 命令
    執(zhí)行 ``` java -version ``` 命令

3. 啟動新版本 Jenkins 失敗,并排查問題

  1. 將最新下載的 Jenkins.war 包放到對應(yīng)的文件夾,先讓 Jenkins 停服,輸入命令:systemctl stop jenkins。然后重啟 systemctl start jenkins

  2. 如果啟動成功,下面就不用看了。

  3. 啟動失?。肯然赝?Jenkins 版本,用之前備份的 Jenkins.war 看看能不能啟動成功。如果能啟動成功,那看一下 jenkins 啟動的 jdk 配置是不是我們剛才更新的版本。輸入命令:systemctl status jenkins。

    systemctl status jenkins

  4. 或者執(zhí)行命令 : journalctl -xe,查看報錯主要原因。

    journalctl -xe

  5. 發(fā)現(xiàn)跟我們最新下載的 Java 版本不一樣。那就是我們沒有改到 Jenkins 啟動時用到的 Java 版本信息。

  6. 執(zhí)行命令:vim /etc/init.d/jenkins。找到這里,將 Java 啟動位置改為我們需要的。然后保存,再重啟 systemctl start jenkins。啟動成功,那有可能我們的 Java 版本還是不對。輸入命令:systemctl status jenkins。查看 Java 版本是不是我們剛才改的。
    注:我們用的是舊版本 Jenkins.war 包啟動的,按道理應(yīng)該是啟動失敗,但如果啟動成功,說明還是有問題。

    vim /etc/init.d/jenkins

  7. 執(zhí)行命令:vim /usr/lib/systemd/system/jenkins.service,找到下面這個位置,修改為最新的 Java 版本。

    image.png

  8. 然后保存,在執(zhí)行命令:systemctl start jenkins。執(zhí)行失敗,那說明我們以及將 Java 版本改好了。然后用新的 Jenkins.war 包,執(zhí)行命令:systemctl start jenkins。

  9. 到此,Jenkins 對應(yīng)的 Java 版本信息對應(yīng)上了。其實也不難發(fā)現(xiàn),系統(tǒng)使用的是 Java 版本跟 Jenkins 啟動時運行的 Java 版本是不一樣。如果你想改成一樣的,再第二步驟【 2. 升級 Java 版本】修改 vi /etc/profile 中的配置信息就行了。

i對比 Java 版本
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容