HudsonはJavaで実装されたContinuous Integrationのためのツールです。Subversionなどのバージョン管理システムからからソースコードをチェックアウトしてきて、ソースをコンパイルしたりJUnitのテストを実行したりなど、継続的インテグレーション開発の手助けをしてくれます。
HudsonはJbossなどのServletコンテナで稼働するwar形式で配布されています。またHudsonのwar自体にも軽量のサーブレットエンジンが同梱されていて、コマンドプロンプトから
java -jar hudoson.war
とやって実行することも可能です。
http://hudson-ci.org/ にあるリンクよりダウンロード可能です。
ダウンロードしたwarについて、先のコマンド
java -jar hudoson.war
を実行するか、通常のwarファイルのようにサーブレットコンテナにデプロイすればインストールは完了です。
蓄積されるいろいろなデータファイルは、コンテナのオーナのカレント
~/.hudson/
配下に保存されるようです。
ちなみに起動するポート番号を変更するには
java -jar hudoson.war --httpPort=8888
などとオプション指定します。
http://localhost:8080/hudson/ へアクセスすると下記のようなトップページが表示されます。
ここからSubversionのプロジェクトとかをジョブって単位で登録していくようですね。
プロジェクトに名前を付け、プロジェクトの種類を選んでOKとすればよいです。プロジェクトの種類はとりあえず「フリースタイル・プロジェクトのビルド」にしておきます。プロジェクトの名前は「SampleJob?」にしました。
引き続きプロジェクトの設定を記述していきます。
まずはここまでで
などを指定します。ココではSubversionを選択しURLは
https://www.masatom.in/svnsamples/repoexp/trunk/HudsonSample/
リポジトリブラウザはViewSVNを選択しURLは
http://www.masatom.in/viewvc/Examples/trunk/HudsonSample/
としました。
引き続き
などの設定があります。
まずはビルドを設定します。「ビルド手順の追加というプルダウンがあり、そこには 「シェルの実行」「Mavenの呼び出し」「Antの呼び出し」「Windowsのバッチコマンドの呼び出し」から選択することができます。
ココではAntを使用することにしました。AntのBuild.xmlはあらかじめ今回のビルド対象であるSubversionのHudsonSample?プロジェクト直下に入れておきます。「Antの呼び出し」を指定すると、Antのどのターゲットを実行するかを指定するボックスが表示されますので、「javac junit jar javadoc」とスペース区切りで指定しておきます。
ビルドで使用しているbuild.xmlは ビルド用ファイルより参照することができます。コンパイルやjarの生成、JUnitの実行、JavaDoc?の生成など、様々な実行コマンドはほとんどAntタスクを使用しているのがわかると思います。Hudsonはそれらを定期的・継続的に実行して結果を保存してくれるツールって感じですね。
さてココまででソースコード管理ツールやビルドするプロジェクト、ant呼び出しのターゲットなどを指定しました。
いったんここでビルドを実行してみようと思います。トップページにジョブの一覧が表示されていますので、ジョブ名が「SampleJob?」であるモノを選択します。すると左にメニューが表示され「ビルド実行」というリンクが存在するので、それをクリックします。
ビルドが実行されました。
先の画面にもあったように、ビルド後の処理としてJavaDoc?を保存したり、JUnit結果のレポートなどを保存することができます。
JavaDoc?は「JavaDoc?の保存」にチェックを入れ、パスを指定します。パスは「HudsonSample?/document/javadoc」としました。
JUnitのレポートは「JUnitテスト結果の集計」チェックを入れ、パスを指定します。パスは「HudsonSample?/document/report/*.xml」としました。
ちなみにこれらのパスはAnt側で指定してるパスですね。
この記事は
現在のアクセス:13183
プラグイン開発の入り口。。 Hudsonプラグイン開発 - wyukawa’s blog