Hudsonとは?

Hudsonとは、JavaベースのCI(Continuous Integration)ツールだ。MavenやAntなどで記述されたビルドプロセスを定期的に実行し、結果をモニタリングするものと説明するとわかりやすいだろうか。CIツールにはさまざまなものが存在するが、中でもHudsonはオープンソースであること、セットアップが容易であること、標準で日本語化されていることなどから人気を集めている。

図1 Hudson

Hudsonと連携するためのEclipseプラグインとして、hudson-eclipseがある。このプラグインを利用することで、Eclipse上からHudsonに対し、ビルドの実行を要求したり、ビルド結果の監視を行うことができる。

今回はHudsonのセットアップから、hudson-eclipseによるEclipseとの連携方法までを解説する。

Hudsonのセットアップ

Hudsonのインストール

HudsonはWebサイトからwarファイルをダウンロードし、コマンドラインから「java -jar hudson.war」のように実行することで起動することができる。もちろんTomcatなどのアプリケーションサーバにデプロイして利用することも可能だ。Hudsonを起動したらWebブラウザからhttp://localhost:8080/にアクセスするとHudsonのダッシュボードが表示されるはずだ。

なお、Hudsonがビルドに使用するMavenやAntは別途インストールしておく必要がある。mvnコマンドやantコマンドにパスが通っていれば特にHudson側で設定する必要はないが、そうでない場合はHudson側でMavenやAntのインストールディレクトリを指定しておく必要がある点に注意してほしい。Hudsonの設定は左上のメニューから「Hudsonの管理」→「システムの設定」で行うことができる。

図2 Hudsonの設定

ジョブの登録

Hudsonのダッシュボードで「新規ジョブ作成」のリンクをクリックすることでジョブを作成することができる。Ant等でビルドする場合は「フリースタイル・プロジェクトのビルド」、Mavenベースのプロジェクトであれば「Maven2プロジェクトのビルド」を選択しよう。

図3 新規ジョブの作成

次の画面ではSubversion/CVSリポジトリ、ビルド方法(Antの場合は実行するターゲット、Mavenの場合は実行するゴール)などを指定することができる。

登録したジョブは手動で実行するほか、定期的に実行したり、Subversion/CVSリポジトリをポーリングして変更があった場合に実行するように設定することも可能だ。

図4 登録されたジョブ

hudson-eclipseプラグイン

続いてEclipseにhudson-eclipseプラグインをインストールしよう。アップデートマネージャから以下の更新サイトを指定することでインストールすることができる。

http://hudson-eclipse.googlecode.com/svn/trunk/hudson-update/

hudson-eclipseプラグインをインストールするとHudsonビューが利用可能になる。Eclipseの設定ダイアログでHudsonのURLを指定するとHudsonビューにジョブの一覧が表示され、ビルド状態を参照することができる。また、Hudsonビューの右クリックメニューからジョブを実行したり、Hudsonの該当ジョブのページをWebブラウザで開いたりすることができる。

図5 hudson-eclipseプラグインの設定

図6 Hudsonビュー

まとめ

CIツールというとこれまで有償のものやセットアップの面倒なものが多かったが、Hudsonを使用することで容易にCI環境を構築することができ、また今回紹介したようにIDEとの連携も可能だ。Eclipse以外にもNetBeans上からHudsonを操作するためのモジュールなども存在する。

本稿でも紹介したとおり、Hudsonは数あるCIツールの中でも導入しやすいだけでなく柔軟性/拡張性も高く、強力なプロダクトといえる。また、最初から日本語化されているということもあり扱いやすいというメリットもあるだろう。これまでCIツールの導入に二の足を踏んでいた方もぜひ実際に試してみてほしい。