從 WAR 更新 Jenkins
一、簡介
Jenkins 是一個自動化服務器,支持數百個用於實施 CI 和 CD 工作流的管道插件。通常,Jenkins 作為一個獨立的應用程序運行,但它也可以作為一個 servlet 部署在不同的 Java servlet 容器中。
在本教程中,我們將使用jenkins.war
文件升級 Jenkins 服務器。
2. 下載 Jenkins WAR 文件
jenkins.war
Jenkins WAR文件是一個 Java Web 存檔文件,其中包含運行 Jenkins 持續集成和交付平台所需的所有文件和資源。這包括 Jenkins 核心代碼以及所有插件和依賴項。 Jenkins WAR 文件用於所有類型的 Jenkins 安裝,無論分發方法如何。
因此,通過 Jenkins WAR 文件更新是在任何環境下升級 Jenkins 的一種簡單有效的方法。
2.1.檢查當前的 Jenkins 版本
在我們繼續之前,讓我們從儀表板檢查當前的 Jenkins 版本:
正如我們在上圖中看到的,Jenkins 當前運行的是2.263.4
版本。
2.2.下載詹金斯 WAR 文件
為了升級到最新的 Jenkins 版本,我們需要先下載最新的 WAR 文件。我們可以使用wget
命令下載最新的 Jenkins WAR 文件:
$ wget https://updates.jenkins-ci.org/latest/jenkins.war
上面的命令將下載最新的 Jenkins WAR 文件。或者,我們可以從全局存儲庫下載任何 Jenkins 版本。讓我們下載 Jenkins 的2.375.1
版本:
$ wget https://updates.jenkins-ci.org/download/war/2.375.1/jenkins.war
值得注意的是,當使用yum
或apt
安裝 Jenkins 時,我們可以簡單地運行升級命令來獲取最新版本。如果本機 Linux 存儲庫中沒有最新版本,我們仍然可以使用wget
命令下載 WAR 文件。
3. 安裝 Jenkins WAR 文件
要更新 Jenkins WAR,我們需要找到它的可執行文件。 Jenkins 服務器的默認路徑可能因操作系統而異。通常, /usr/share/jenkins/
和/usr/lib/jenkins/
是 Jenkins 服務器主目錄的位置。此外,如果 WAR 文件不在這些目錄中,我們需要按照以下步驟獲取實際目錄:
- 轉到詹金斯儀表板
- 在 Jenkins 儀表板中單擊“
Manage Jenkins
” - 點擊
System Information
在上圖中,我們可以在executable-war
屬性中看到 Jenkins WAR 文件的位置。在我們升級 Jenkins 服務器之前,讓我們停止服務器以確保升級過程順利進行:
$ sudo systemctl stop jenkins
服務器停止後,我們可以將新的jenkins.war
移動到/usr/share/jenkins/
目錄。在移動jenkins.war
文件之前,
我們需要更改它的權限:
$ cd /download
$ chown root:root jenkins.war
$ chmod 644 jenkins.war
現在,我們將jenkins.war
文件移動到executable-war
的目錄:
$ sudo mv /download/jenkins.war /usr/share/jenkins/
為了看到變化,我們需要啟動 Jenkins 服務器:
$ sudo systemctl start jenkins
讓我們看看檢查 Jenkins 服務器狀態的命令:
$ systemctl status jenkins
● jenkins.service - Jenkins Continuous Integration Server
Loaded: loaded (/usr/lib/systemd/system/jenkins.service; enabled; vendor preset: disabled)
Active: active (running) since Sun 2022-12-04 07:38:00 UTC; 2s ago
在這裡,在上述命令的輸出中,我們可以看到服務器已啟動並正在運行。
4.升級後任務
到目前為止,我們已經完成了更新 Jenkins 服務器所需的所有步驟。但是我們通常還需要做一些工作來保證數據對新版本的兼容性。
4.1.驗證版本更新
Jenkins 服務器已啟動並正在運行。現在讓我們從 Jenkins 儀表板驗證版本:
升級後的 Jenkins 版本可以在 Jenkins UI 的右下角看到。
4.2.與新版本的兼容性
插件可能是 Jenkins 管道中最關鍵的部分。事實上,每個作業都使用一個插件來執行以檢查已安裝插件的可用更新:
- 轉到詹金斯儀表板
- 在 Jenkins 儀表板中單擊“
Manage Jenkins
” - 點擊
About Plugins
上圖顯示不需要更新任何插件。
升級 Jenkins 後,我們可能會遇到新版本的數據兼容性問題。因此,為確保我們的數據格式正確,我們應該將其更新為更新後的格式。此外,要檢查數據版本更新,請按照以下步驟操作:
- 轉到詹金斯儀表板
- 在 Jenkins 儀表板中單擊“
Manage Jenkins
”
上圖顯示我們的新版本與舊版本不兼容。但是,我們可以通過單擊“ Manage
”按鈕來解決問題。
5.結論
在本文中,Jenkins 服務器使用 WAR 文件從版本2.263.4
升級到2.375.1
。首先,我們為新版本的 Jenkins 下載了最新的 WAR 文件。之後我們通過替換已有版本的方式部署到Jenkins服務器上。