作者:Gakki
前言
systemctl start jenkins 重啟 Jenkins 失敗 | systemctl restart jenkins | systemctl status jenkins | Jenkins 升級,啟動失敗 | Linux 環(huán)境 Jenkins 升級,啟動失敗問題排查
1.前期準(zhǔn)備
-
首先,找到舊版本 Jenkins.war 包的存放的位置,可以在 Jenkins 界面上找到。在 System Information (系統(tǒng)屬性)里面可以看到 Jenkins.war 包 存放的地址。
Jenkins.war 包 存放的地址 備注之前的 Jenkins.war 包(以防升級失敗還可以繼續(xù)用舊的 war 包)
-
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 我這次要升級為最新的 Jenkins — V 2.479.2。查了下服務(wù)器上的 Java 版本是 1.8 ,不匹配最新的 Jenkins,需要升級。
2. 升級 Java 版本
注:如果你的 Java 版本匹配 Jenkins,那就跳過這步。
-
去 java 官網(wǎng)下載需要的版本。Java Downloads | Oracle 。我需要的版本是 Java 17。所以下載的是 Java 17 tar 包(根據(jù)自己的需求來下載對應(yīng)版本)
Java SE Development Kit 17.0.12 -
下載完成后,復(fù)制到 Linux 服務(wù)器上。解壓到對應(yīng)的文件夾。解壓命令:
tar -xvf jdk-17.0.12_linux-x64_bin.tar.gz
解壓 tar 包 設(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

- 讓修改生效,執(zhí)行
source /etc/profile命令。然后測試 Java 是否升級成功。執(zhí)行java -version命令
執(zhí)行 ``` java -version ``` 命令
3. 啟動新版本 Jenkins 失敗,并排查問題
將最新下載的 Jenkins.war 包放到對應(yīng)的文件夾,先讓 Jenkins 停服,輸入命令:
systemctl stop jenkins。然后重啟systemctl start jenkins如果啟動成功,下面就不用看了。
-
啟動失?。肯然赝?Jenkins 版本,用之前備份的 Jenkins.war 看看能不能啟動成功。如果能啟動成功,那看一下 jenkins 啟動的 jdk 配置是不是我們剛才更新的版本。輸入命令:
systemctl status jenkins。
systemctl status jenkins -
或者執(zhí)行命令 :
journalctl -xe,查看報錯主要原因。
journalctl -xe 發(fā)現(xiàn)跟我們最新下載的 Java 版本不一樣。那就是我們沒有改到 Jenkins 啟動時用到的 Java 版本信息。
-
執(zhí)行命令:
vim /etc/init.d/jenkins。找到這里,將 Java 啟動位置改為我們需要的。然后保存,再重啟systemctl start jenkins。啟動成功,那有可能我們的 Java 版本還是不對。輸入命令:systemctl status jenkins。查看 Java 版本是不是我們剛才改的。
注:我們用的是舊版本 Jenkins.war 包啟動的,按道理應(yīng)該是啟動失敗,但如果啟動成功,說明還是有問題。
vim /etc/init.d/jenkins -
執(zhí)行命令:
vim /usr/lib/systemd/system/jenkins.service,找到下面這個位置,修改為最新的 Java 版本。
image.png 然后保存,在執(zhí)行命令:
systemctl start jenkins。執(zhí)行失敗,那說明我們以及將 Java 版本改好了。然后用新的 Jenkins.war 包,執(zhí)行命令:systemctl start jenkins。到此,Jenkins 對應(yīng)的 Java 版本信息對應(yīng)上了。其實也不難發(fā)現(xiàn),系統(tǒng)使用的是 Java 版本跟 Jenkins 啟動時運行的 Java 版本是不一樣。如果你想改成一樣的,再第二步驟【 2. 升級 Java 版本】修改 vi /etc/profile 中的配置信息就行了。









