Hudsonについて
Hudsonは、
Java言語で実装された
継続的インテグレーション(CI)ツールで、主に
Apache Tomcatや
GlassFishなどのサーブレットコンテナ上で機能します。開発者は、Hudsonを利用することで、ソフトウェアプロジェクトのビルドとテストを自動化し、効率的な開発環境を構築することが可能です。よって、多くの開発チームにとっては重要なツールとなっています。
このツールは、CVSやSubversionといった
バージョン管理システムをサポートし、また
Apache Antや
Apache Mavenによって管理されているプロジェクトに対しても高度なタスクの実行を行うことができます。さらに、シェルスクリプトやWindowsのバッチファイルを実行できる機能も搭載し、開発ワークフローをより簡潔にしてくれます。
ビルドの実行
Hudsonのビルドプロセスは、cronに似たスケジュール機構に基づいています。特定の条件、例えば他のビルドが完了した時や特定のビルドURLがリクエストされた場合などにビルド処理が開始されます。これによって、開発チームは、開発の進捗状況を常に把握しやすくなり、必然的にプロジェクトの品質向上にも寄与します。
歴史の経緯
Hudsonは、もともとSun Microsystemsによってオープンソースとして開発されていましたが、
2010年にOracle社がSunを買収したことがきっかけで、コミュニティ内に亀裂が生じました。この状況は商標に関する問題へと発展し、最終的にはコミュニティがHudsonから分岐して
Jenkinsという新しい名前のプロジェクトを立ち上げることとなります。
2011年5月、
Eclipse FoundationはHudsonの中核的なコミッターであるOracle、Sonatype、そして他のコミュニティサポーターたちと共に、Hudsonの基盤コードや商標問題を含む正式な移行提案を行いました。Hudsonプロジェクトの創始者である川口耕介氏は、オラクルとの交渉において商標保持に関する明確な意向が確認されたことを述べています。これにより、オラクルは自社の
Jenkinsプロジェクトとの兼ね合いで、商標を保持できないことを認識せざるを得なくなりました。加えて、川口氏はオラクルがHudsonの知的財産を
Eclipse Foundationに再
ライセンスできるかどうかについて疑問を投げかけています。
移行とその後
2012年の年末までには、HudsonプロジェクトはGitHubから
Eclipse Foundationへと移行され、その後何度かのリリースが行われました。しかし、2016年のリリースを持ってこのプロジェクトはアーカイブされ、現在はHudsonの開発は停滞している状況です。このことは
継続的インテグレーションの技術とその運用方法が進化している中での流れの一環ともいえるでしょう。
外部リンク
Hudsonの歴史は、オープンソースコミュニティにおけるさまざまな挑戦と変革を物語っています。今後もCIツールとしての発展を期待したいところです。