Jenkins

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

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

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

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

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

歴史

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

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

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

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

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

 関連項目 

 CI/CD
 ビルド自動化

脚注

外部リンク

 Jenkins homepage
 Jenkins tutorial video
 Hudson free book
 Jenkins all-in-one installer, virtual machine and cloud images by BitNami
 Hudson and CI related articles
 Jenkins creator Kohsuke Kawaguchi on The Changelog podcast talking about the project origin and name change
 7 Ways to Optimize Jenkins/Hudson from founder Kohsuke Kawaguchi

Category:継続的インテグレーション
Category:Java開発ツール
Category:Javaでプログラムされた自由ソフトウェア