無語!Jenkins 也宣布棄用 Java 8。。
開源 Devops 工具 Jenkins 宣布:從 6 月 28 日發布的 Jenkins 2.357 和即將發布的 9 月 LTS 版本開始,Jenkins 最低需要 Java 11。

Jenkins 最初稱為 Hudson ,是一款老牌持續集成工具,至今已創立十多年。自 2005 年成立以來,Jenkins 項目經歷了多次 Java 遷移。目前從 Java 8 到 Java 11 的遷 移與 Jenkins 項目中的遷移歷史是一致的。

開發者 Basil Crow 在博客中解釋稱:Jenkins 項目在短期內可能會保留在 Java 8 上,但出于幾個原因,這樣做是弊大于利。首先,Jenkins 項目使用的許多關鍵第三方庫(例如,Jetty、JGit、Spring Framework 和 Spring Security)開始需要更新版本的 Java,而停留在 Java 8 上會使 Jenkins 項目無法從上游項目接收安全更新。
此外,新版本 Java 對 Java 平臺進行了顯著的運行時改進。例如,LinkedIn 在遷移到 Java 11 時看到了顯著的性能改進,而 Adoptium 在遷移到 Java 11 時看到了顯著的內存使用改進(在 Jenkins 上同樣如此),而最近的 Java 運行時則提供了許多對垃圾收集的改進。
最后,保持 Java 的當前版本有助于 Jenkins 吸引和留住開發人員。
目前,官方的 Jenkins Docker 鏡像 已經基于 Java 11 好幾個月了,Java 8 暫時還可作為備選,Java 17 可在預覽模式下使用。但是從 Jenkins 2.357 開始,Java 8 映像就將被淘汰,Java 17 映像從預覽版過渡到一般可用性 (GA)。
事實上 Jenkins 團隊更推薦用戶使用 Java 17 :
Jenkins 對 Java 17 的支持是全新的,不過它還沒有達到在 Jenkins 社區內普遍采用的階段。
盡管如此, 我們的經驗是 Java 17 是比 Java 11 更可靠的選擇,我們可以自信地說,從 Java 11 遷移到 Java 17 不會像從 Java 8 遷移到 Java 11 那樣痛苦。
相關鏈接:https://www.jenkins.io/blog/2022/06/28/require-java-11/