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

まずはここまでで

  • ソースコード管理システムをどれを使うか、またそのリポジトリの情報
  • リポジトリブラウザは何を使うか(ViewVCとかですね)、そのURLはなにか

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

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

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

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

としました。

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

引き続き

  • ビルドは何をするか
  • ビルド後にJavaDoc?を保存するか、そのパスはどこか
  • JUnitの結果集計は保存するか、
  • ビルド等に失敗したらメールするか、

などの設定があります。

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  
  • ちなみにいまやHudsonでなくJenkinsって名前で、おっちゃんもかわいい顔になってますね -- きの? 2013-04-16 (火) 23:08:00

Top / Java / Hudson

現在のアクセス:12900


添付ファイル: filepref03.png 1260件 [詳細] filepref02.png 1247件 [詳細] filepref01.png 1291件 [詳細] filebuild.png 1244件 [詳細] filetoppage.png 1203件 [詳細]

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2016-04-05 (火) 15:27:27 (2936d)