Jenkins

フリーでオープンソースの自動化サーバー

Jenkinsジェンキンスフリーでオープンソースの自動化サーバである。ソフトウェア開発のビルドテスト 、およびデプロイに関連する部分の自動化を支援し、継続的インテグレーション継続的デリバリーを促進する。Apache Tomcatなどのサーブレットコンテナで動作するサーバベースのシステムである。AccuRevCVSSubversionGitMercurial、Perforce 、ClearCase、RTCなどのバージョン管理ツールをサポートしており、Apache AntApache Maven 、およびsbtベースのプロジェクトのほか、任意のシェルスクリプトやWindowsのバッチコマンドを実行することができる。Jenkinsの生みの親は川口耕介英語版である[3]。JenkinsはMITライセンスでリリースされている[4]

Jenkins
初版2011年2月2日 (2011-02-02)[1]
最新版2.434 - 2023年11月28日 (4か月前) (2023-11-28)[2] [±]
リポジトリ ウィキデータを編集
プログラミング
言語
Java
対応OSクロスプラットフォーム
種別継続的インテグレーション
ライセンスMIT license
公式サイトjenkins.io
テンプレートを表示

ビルドは、バージョン管理システムでのコミット、cronのようなメカニズムによるスケジューリング、特定のビルド URLのリクエストなど、さまざまな方法でトリガーすることができる。また、キュー内の他のビルドが完了した後にトリガーすることもできる。Jenkinsの機能はプラグインで拡張することができる。

JenkinsプロジェクトはもともとHudsonという名前で、プロジェクトをフォークしてプロジェクト名の権利を主張していたOracleとの論争の末に改名された。OracleのフォークであるHudsonは、Eclipse Foundationに寄付される前に一時期開発が続けられた。OracleのHudsonはメンテナンスが終了し、2017年2月に廃止されたと発表された。

概要

ソフトウェアを複数の組織で連携して開発する場合、特定のソフトウェアに加えた変更が、他のソフトウェアの品質に悪影響を及ぼし得る (特定のソフトウェアがビルド出来なくなる等)。短期間内にこれらの問題を検出し、ソフトウェアを高品質に保つためのツールが求められていた。

Jenkinsは、ソフトウェア開発向けに継続的インテグレーションサービスを提供しており、Apache TomcatなどのServletで動作しているサーバベースシステムである。CVSSubversionGitMercurialPerforceClearcaseといったバージョン管理システムツールに対応し、Apache AntApache Mavenにおける任意のシェルスクリプトやWindowsバッチコマンドといったプロジェクトを実行することが出来る。おもなJenkins開発者には川口耕介英語版がおり[5]MIT Licenseで公開されているフリーソフトウェアである[6]

歴史

このプロジェクトはHudsonからフォークされた。オラクルが2010年12月にHudsonの商標を登録したことによるものである[7]

2007年頃このプロジェクトはCruiseControlや他のオープンソース構築サーバに対する人気のある代替として登場した[5][8]。2008年5月のJavaOneカンファレンスでDuke's Choice Award開発者ソリューション部門を受賞した[9]。2011年、開発者の川口耕介英語版はこのプロジェクトにおける自身の働きを讃えられGoogle–O'Reilly Open Source Award英語版を受賞した。

Hudson

Jenkinsは当初Hudsonプロジェクトが開発していた。2010年11月頃、スチュワードシップとコントロールがオラクルの下にあるという疑問が顕在化したことでHudsonコミュニティに根本的な問題をもたらした[10]。プロジェクトの主要メンバーとオラクル間の交渉が行われ、Hudsonの名の商標登録という重大な問題点に関して多くの合意分野があったものの[11]、結果、2011年1月11日にプロジェクト名をHudsonからJenkinsに変更するかどうか投票を呼びかけ[12]、Jenkinsプロジェクトを立ち上げる提案は同月29日にコミュニティの投票において圧倒的多数で承認された[13][14]。同年2月1日、オラクルはHudsonの開発を継続とJenkinsを名称の変更ではなくフォークとみなす意思を示した[15]

プラグイン

Jenkinsに対応するプラグインはJavaプロジェクトの純粋なビルドツールを超える形でJenkinsを拡張している[16]。プラグインはほとんどのバージョン管理システムとバグデータベースと共にJenkinsに統合される形になっている。多くのビルドツールはそれぞれのプラグインを通して対応している。またプラグインはJenkinsの外見を変えたり、新たな機能を追加することもできる。

ビルドは数種類のフォーマット(JUnitはプラグインを通してアウトオブボックスなどに対応している)でテストレポートを生成でき、Jenkinsでレポートを表示したりトレンドを生成したりグラフィカルユーザインタフェース内でそれらを表現する事が出来る。

脚注

外部リンク