詹金斯和 Java 在 Windows 上升級

https://enterpriseadmins.org/blog/scripting/jenkins-java-upgrade-on-windows/

在 Windows 上升級 Jenkins 和 Java

我在實驗室經常使用的一項服務是 Jenkins。我將其運行在 Windows 虛擬機上,並有各種任務運行,有些是定期運行,其他則由 Web 鉤子觸發。最近,我在 Manage Jenkins 部分發現兩個問題,一個是 Jenkins 需要升級,另一個是指出您正在使用 Java 11 運行 Jenkins,其支持將在 2024 年 9 月 30 日之後結束。

更新 Jenkins 非常簡單。我在 VM 上創建了一個快照,以防萬一,然後在 Web 控制台內按下了 Jenkins 的更新按鈕。這一切都順利進行,當 Jenkins 重新啟動時就已經更新了。我讓它休息了幾天,運行了各種測試,當確定一切穩定後,我刪除了 VM 的快照。

第二個任務是更新 Java,我決定在上述 Jenkins 更新幾天後進行。這樣,如果出現問題,更容易知道是 Jenkins 還是 Java 的問題。我很高興這樣做,因為在更新 Java 時遇到了兩個問題,如下所述。

為了開始升級過程,我從 https://adoptium.net/temurin/releases/?os=windows&arch=x64&version=17 下載了最新版本的 Java 17 JDK。我還備份了 D:\Program Files\Jenkins 和 C:\Users\svc-jenkins\AppData\Local\Jenkins 文件夾。我在更新 Jenkins 之前已經這樣做,決定在 Java 更新之前再次備份。接著,我在虛擬機器上創建了一個快照,作為最後的還原點。

在備份完成後,我停止了 Jenkins 服務(從 Windows VM 上的 services.msc 中),然後從添加/刪除程序中卸載 Java JDK 11。這是唯一使用 Java 的應用程式,所以我並不擔心其他應用程式的相依性。然後,我安裝 JDK 17 到 D:\Program Files\Eclipse Adoptium\jdk-17.0.9.9-hotspot,選擇將其新增到我的 PATH 語句中,關聯 JAR 檔,並設置 JAVA_HOME 變數。

安裝完成後,我嘗試啟動 Jenkins 服務,但它立即停止。然後我決定重新啟動系統,因為我已更改系統環境變數,想確保這些變數已生效,但服務並未在啟動時啟動。因為我知道到 java.exe 的路徑已更改,我查找了 Jenkins 配置,發現在 D:\Program Files\Jenkins\jenkins.xml 中找到一個指向舊文件系統路徑的條目,並更新了位置。這樣服務就成功啟動了,但我只能從伺服器控制台本地訪問它,而無法從遠程機器訪問。

我檢查了 Windows 防火牆,發現 Jenkins 的入站規則僅限於一個程序──先前的 Jenkins 路徑。我在「程式和服務」選項卡上將「此程式」的值更新為 D:\Program Files\Eclipse Adoptium\jdk-17.0.9.9-hotspot\bin\java.exe,這解決了遠程訪問問題。

現在我的 Jenkins 和 Java 版本都是最新的,一切都按預期運行。希望這篇文章對其他遇到這個升級問題的人有所幫助。

via Enterprise Admins.org

January 15, 2024 at 11:50PM

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *