Top / Java / Jenkins

Java/Hudson

Top / Java / Hudson

概要

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/ へアクセスすると下記のようなトップページが表示されます。

toppage.png

ここからSubversionのプロジェクトとかをジョブって単位で登録していくようですね。

ジョブ(プロジェクト?)を作成する

プロジェクトに名前を付け、プロジェクトの種類を選んでOKとすればよいです。プロジェクトの種類はとりあえず「フリースタイル・プロジェクトのビルド」にしておきます。プロジェクトの名前は「SampleJob?」にしました。

プロジェクトの環境設定を記述する1

引き続きプロジェクトの設定を記述していきます。

pref01.png

まずはここまでで

などを指定します。ココではSubversionを選択しURLは

https://www.masatom.in/svnsamples/repoexp/trunk/HudsonSample/

リポジトリブラウザはViewSVNを選択しURLは

http://www.masatom.in/viewvc/Examples/trunk/HudsonSample/

としました。

プロジェクトの環境設定を記述する2

引き続き

などの設定があります。

pref02.png

まずはビルドを設定します。「ビルド手順の追加というプルダウンがあり、そこには 「シェルの実行」「Mavenの呼び出し」「Antの呼び出し」「Windowsのバッチコマンドの呼び出し」から選択することができます。

ココではAntを使用することにしました。AntのBuild.xmlはあらかじめ今回のビルド対象であるSubversionHudsonSample?プロジェクト直下に入れておきます。「Antの呼び出し」を指定すると、Antのどのターゲットを実行するかを指定するボックスが表示されますので、「javac junit jar javadoc」とスペース区切りで指定しておきます。

ビルドで使用しているbuild.xmlは ビルド用ファイルより参照することができます。コンパイルやjarの生成、JUnitの実行、JavaDoc?の生成など、様々な実行コマンドはほとんどAntタスクを使用しているのがわかると思います。Hudsonはそれらを定期的・継続的に実行して結果を保存してくれるツールって感じですね。

実行してみる

さてココまででソースコード管理ツールやビルドするプロジェクト、ant呼び出しのターゲットなどを指定しました。

いったんここでビルドを実行してみようと思います。トップページにジョブの一覧が表示されていますので、ジョブ名が「SampleJob?」であるモノを選択します。すると左にメニューが表示され「ビルド実行」というリンクが存在するので、それをクリックします。

build.png

ビルドが実行されました。

JavaDoc?やJUnit結果を保存する

先の画面にもあったように、ビルド後の処理としてJavaDoc?を保存したり、JUnit結果のレポートなどを保存することができます。

pref03.png

JavaDoc?は「JavaDoc?の保存」にチェックを入れ、パスを指定します。パスは「HudsonSample?/document/javadoc」としました。

JUnitのレポートは「JUnitテスト結果の集計」チェックを入れ、パスを指定します。パスは「HudsonSample?/document/report/*.xml」としました。

ちなみにこれらのパスはAnt側で指定してるパスですね。

TIPS集

コミットに反応してビルドを実行する

関連リンク


この記事は

選択肢 投票
おもしろかった 3  
そうでもない 0  

Top / Java / Hudson

現在のアクセス:12901

Jenkinsのメール通知にGmailを使う


トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS