Java 8 要倒了? Jenkins 宣布仅支持 Java 11 及以上版本

来源: 投稿
作者: 罗奇奇
2022-07-02 08:54:00

开源 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 那样痛苦。

展开阅读全文
点击加入讨论🔥(21) 发布并加入讨论🔥
本篇精彩评论
用11运行它,构建插件照常用8有问题?
即便我已11,但就凭它而弃用8,真是想太多
2022-07-02 22:23
3
举报
祖传代码,只能jdk8能跑起来
2022-07-04 08:43
1
举报
Jenkins这个老掉牙的东西对Java很重要?
2022-07-02 23:07
1
举报
这个运行时环境是jre 11,应该可以配置对应的jdk进行编译
2022-07-02 10:20
1
举报
21 评论
5 收藏
分享
返回顶部
顶部