前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Jenkins抛弃Java 8拥抱Java 11

Jenkins抛弃Java 8拥抱Java 11

作者头像
FunTester
发布2022-07-08 15:47:54
8670
发布2022-07-08 15:47:54
举报
文章被收录于专栏:FunTesterFunTester

❝官方文档链接:https://www.jenkins.io/blog/2022/06/28/require-java-11/。❞

介绍

Jenkins 项目致力于为最终用户和开发人员提供世界级的平台体验。这种体验的核心是Java,它是一种面向对象的编程语言,具有Java 虚拟机 (JVM)形式的跨平台运行时。自成立以来,Jenkins 项目一直是 Java 的主要消费者,向超过 300,000 个控制器的安装基础分发了 1,800 多个插件,并且 Jenkins 经常出现在有史以来顶级 Java 应用程序的列表中。

从 Jenkins 2.357(2022 年 6 月 28 日发布)和即将发布的 9 月 LTS 版本开始,Jenkins 需要 Java 11。此外,从 Jenkins 2.355(2022 年 6 月 14 日发布)和 Jenkins 2.346.1 LTS(6 月 22 日发布, 2022),Jenkins 支持 Java 17。插件已经在JENKINS-68446中准备好了。使用插件管理器在升级到 Jenkins 2.357之前和之后升级所有插件。

长期使用 Jenkins 的用户和 Java 开发人员可能会回忆起之前迁移到 Java 7 和 Java 8 的过程。虽然这些迁移并非微不足道,但与迁移到 Java 9 及更高版本的规模相比,它们显得苍白无力。Java 9 代表了Java 生态系统在许多方面发生的巨大变化。不仅许可政策、版本控制方案、发布节奏和长期支持 (LTS) 周期发生了变化,而且语言和运行时也发生了许多重大的技术变化(例如,Project Jigsaw),并非所有这些都保留了以前版本所具有的高度兼容性。尽管从长远来看,这些演进性变化可能符合 Java 社区的最大利益,但社区仍有责任了解其影响并做出相应的计划。

数据

Java版本的趋势

上述数据表明,每个主要 Java 版本的生命周期显然是一个高斯函数。Java 的每个主要版本都由供应商发布,开始一个快速增长的采用阶段,达到使用高峰,失去 Jenkins 项目的支持,开始使用量下降,使用量下降到终端状态,最后到达供应商端生命周期 (EOL),大致按此顺序。

Java 6

Java 7

Java 8

Java 11

发布日期 2006 年 12 月 11 日

2011 年 7 月 7 日

2014 年 3 月 18 日

2018 年 9 月 25 日

快速使用量

2009 年 10 月(11,193 次安装)

2013 年 2 月(10,997 次安装)

2015 年 2 月(12,210 次安装)

2019 年 11 月(10,094 次安装)

峰值使用量

2013 年 3 月(47,244 次安装)

2015 年 6 月(68,681 次安装)

2021 年 2 月(261,468 次安装)

不适用

Jenkins 要求下一个主版本

2015 年 5 月(21,798 次安装)

2017 年 4 月(40,569 次安装)

2022 年 6 月(185,286 次安装)

不适用

终端使用量下降

2016 年 5 月(10,283 次安装)

2019 年 3 月(10,123 次安装)

不适用

不适用

生命周期结束 (EOL)

2015 年 12 月 31 日

2019 年 7 月 31 日

至少 2026 年 11 月

至少 2024 年 10 月

进一步推断,可以观察到以下趋势:

  • Jenkins 用户至少需要一年时间才能开始采用 Java 的新版本。
  • 一旦 Jenkins 用户开始采用新版本的 Java,之前 Java 版本的使用量最终会达到峰值并开始下降。
  • Jenkins 项目历来开始需要新的 Java 版本,大约在前一个 Java 版本衰退期的一半。
  • 一旦 Jenkins 需要一个给定的 Java 版本,之前的 Java 版本的使用量就会继续下降,直到达到下降的最终阶段。
  • 上述下降的最终阶段通常与 Java 供应商的积极支持结束有关。

结论

至关重要的是,在前一个版本的使用量明显下降之前,Jenkins 项目从未需要给定版本的 Java。这通过确保大多数用户在生产中成功运行新版本来降低风险。相反,对 Jenkins 用户的新 Java 版本的要求会激励其余用户进行升级,并防止不愿升级的用户继续依赖即将达到供应商生命周期终止 (EOL) 的版本,从而使项目面临风险)。

Java 11 的要求与历史先例一致。Java 8 的使用在 2021 年 2 月达到顶峰,此后一直在下降。同时,自 2019 年 11 月以来,Java 11 的采用率一直在迅速增加,但尚未达到顶峰。现在是需要 Java 11 的时候了。

「BUG挖掘机·性能征服者·头顶锅盖」

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2022-07-03,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 FunTester 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 介绍
  • 数据
  • 结论
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档