JenkinsがJava 8の対応を終了し、Java 11が必須に。Java 17の対応も開始

今回は「JenkinsがJava 8の対応を終了し、Java 11が必須に。Java 17の対応も開始」についてご紹介します。

関連ワード (導入、年後、発表等) についても参考にしながら、ぜひ本記事について議論していってくださいね。

本記事は、Publickey様で掲載されている内容を参考にしておりますので、より詳しく内容を知りたい方は、ページ下の元記事リンクより参照ください。


Jenkins開発チームは、6月28日リリースのJenkins 2.357および9月にリリース予定のJenkins LTS版からはJenkinsの実行環境としてJava 11が必須になることを、ブログ「Jenkins requires Java 11」で明らかにしました。

これまでJenkinsはJava 8もしくはJava 11を実行環境としていましたが、Java 8の対応がなくなることになります。

Jenkins 2.357 released today as the first Jenkins version to require Java 11. @bcrow shares the history of Java support in Jenkins and the benefits of the update. https://t.co/FPTNBTG3jK pic.twitter.com/BcYV5McgpS

— Jenkins (@jenkinsci) June 28, 2022

また、6月14日リリースのJenkins 2.355および6月22日リリースのJenkins 2.346.1 LTSからはJava 17の対応を開始することも合わせて発表しました。

Java 8の利用は下り坂の一方、Java 11が急上昇

Jenkinsは、ビルドやテスト、デプロイなどを自動化してくれるツールとしてよく知られていると同時に、Javaをランタイムとして用いる代表的なツールの1つでもあります。

Javaは、Java 9から導入されたJigsawと呼ばれるモジュール機能などによって大きな変更が加えられたことなどから、Java 8からJava 9以降のバージョンへのバージョンアップはそれほど容易ではなく、多くのユーザーがまだJava 8を利用していると見られます。と同時に、この現状に配慮する多くのJavaディストリビューションでは、Java 8のサポート期間をこの先まだ数年以上継続する計画を明らかにしています。

そうしたなかで、Jenkinsの開発プロジェクトでは匿名のJava使用統計情報を公開しており、これによるとJava 8の利用は2021年頃をピークに急激に減り始めた一方、Java 11の利用は急上昇していることが分かりました。

fig

JenkinsがJava 11へ移行する3つの理由

こうした状況を踏まえ、JenkinsプロジェクトではJava 11へ移行するタイミングが来たと次のように説明しています。

1つ目の理由はセキュリティ面での懸念。

While the Jenkins project could remain on Java 8 for the foreseeable future, this would be imprudent for several reasons. First, many key third-party libraries consumed by the Jenkins project (e.g., Jetty, JGit, Spring Framework, and Spring Security) are beginning to require newer versions of Java, and staying on Java 8 puts the Jenkins project at risk of eventually not being able to receive security updates from upstream projects.

Jenkinsプロジェクトは、当面Java 8を使い続けることも可能ですが、いくつかの理由から、これが賢い選択ではないといえます。1つ目は、Jenkinsプロジェクトが利用する多くの重要なサードパーティライブラリ(Jetty、JGit、Spring Framework、Spring Securityなど)が新しいバージョンのJavaを必要とし始めており、Java 8のままでは、いずれJenkinsプロジェクトが上流プロジェクトからのセキュリティ更新を受け取れなくなる危険性があるためです。

2つ目は、新しいJavaではパフォーマンスやメモリ使用などで大きな改善がある点。

Furthermore, significant runtime improvements have been made to the Java Platform in recent years. For example, LinkedIn saw drastic performance improvements when migrating to Java 11, and Adoptium saw significant memory usage improvements when migrating to Java 11 (on Jenkins, no less!). Recent Java runtimes provide a number of improvements to garbage collection, among other areas.

さらに、ここ数年Javaプラットフォームには大幅なランタイムの改良が加えられています。例えば、LinkedInではJava 11への移行でパフォーマンスが劇的に改善されました。そしてAdoptiumではJava 11に移行する際にメモリ使用量が大幅に改善されました(Jenkins上で、です!)。また、最近のJavaランタイムはガベージコレクションで多数の改善がありますし、それ以外にも多くの改善があるのです。

最後の理由は、最新のJavaを採用することでJenkinsそのものを魅力的なプロジェクトに保つため。

Finally, Jenkins takes pride in its strong development community, and staying on a current version of Java helps attract and retain developers.

最後に、Jenkinsは強力な開発コミュニティに誇りを持っており、最新バージョンのJavaを使い続けることは、そこへ開発者を惹きつけ続けるためでもあります。

Java 11は2018年にリリースされ、Java 17はその3年後の2021年にリリースされたJavaで、いずれもLTS(Long Term Support)対象のJavaです。

日本国内でもまだJava 8のユーザーは多いと思われますが、このJenkinsによるJavaバージョンアップは、Java 11もしくはJava 17へ移行を検討するうえでよい材料、あるいは上司や顧客へのよい言い訳になるのではないでしょうか。

COMMENTS


Recommended

TITLE
CATEGORY
DATE
アップルのRealityKit 2で開発者はiPhone写真を使ったAR用3Dモデル作成が可能に
ソフトウェア
2021-06-10 22:48
Ziddyちゃんの「私を社食に連れてって」:レッドハットの「Bistro Red Hat」でオープンな社風を満喫編
IT関連
2023-05-20 17:01
人型ロボットが作業しながら自然に会話–OpenAIと提携するFigureが動画を公開
IT関連
2024-03-16 08:56
ブラウザーテスト自動化はユーザー体験第一印象の鍵
IT関連
2021-07-19 10:43
マイクロソフト、「Excel」マクロ悪用マルウェア対策を強化
IT関連
2021-03-05 21:52
Amazon従業員による初の労組結成ならず
企業・業界動向
2021-04-13 17:46
オブジェクトストレージの利用拡大とその背景を考察する
IT関連
2021-02-22 06:10
スクエニ、中央大学でゲーム制作の講義 社員がプログラミングやAI開発を解説
ロボット・AI
2021-04-09 15:35
丸井、マルイ・モディ全23店舗にマニュアル作成・共有システムを導入
IT関連
2021-07-28 06:22
住宅建築の技能をビデオで学べるプラットフォーム「Copeland」
EdTech
2021-06-07 22:31
SAPジャパン、金融業界向け合弁子会社を設立
IT関連
2021-08-17 06:57
前Red Hat CEOのジム・ホワイトハースト氏、IBMのプレジデントを退任へ、自身が決断
IBM
2021-07-05 23:48
加速する米テック企業の人員削減–アリックスパートナーズが背景と影響を探る
IT関連
2023-04-11 01:15
「Azure AD」で障害、一部で「Teams」や「Office」に影響–復旧中
IT関連
2021-03-16 03:34