- 追加された行はこの色です。
- 削除された行はこの色です。
// 下階層用テンプレート
#topicpath
----
//ここにコンテンツを記述します。
#contents
**概要 [#u74ba26f]
HudsonはJavaで実装されたContinuous Integrationのためのツールです。Subversionなどのバージョン管理システムからからソースコードをチェックアウトしてきて、ソースをコンパイルしたりJUnitのテストを実行したりなど、継続的インテグレーション開発の手助けをしてくれます。
HudsonはJbossなどのServletコンテナで稼働するwar形式で配布されています。またHudsonのwar自体にも軽量のサーブレットエンジンが同梱されていて、コマンドプロンプトから
jar -jar hudoson.war
とやって実行することも可能です。
**ダウンロード [#t4464eec]
http://hudson-ci.org/ にあるリンクよりダウンロード可能です。
**インストール [#ne5a1dec]
ダウンロードしたwarについて、先のコマンド
jar -jar hudoson.war
を実行するか、通常のwarファイルのようにサーブレットコンテナにデプロイすればインストールは完了です。
蓄積されるいろいろなデータファイルは、コンテナのオーナのカレント
~/.hudson/
配下に保存されるようです。
ちなみに起動するポート番号を変更するには
jar -jar hudoson.war --httpPort=8888
などとオプション指定します。
**使ってみる [#s5233a95]
http://localhost:8080/hudson/
へアクセスすると下記のようなトップページが表示されます。
#ref(toppage.png)
ここからSubversionのプロジェクトとかをジョブって単位で登録していくようですね。
***ジョブ(プロジェクト?)を作成する [#n9e277e7]
プロジェクトに名前を付け、プロジェクトの種類を選んでOKとすればよいです。プロジェクトの種類はとりあえず「フリースタイル・プロジェクトのビルド」にしておきます。プロジェクトの名前は「SampleJob」にしました。
***プロジェクトの環境設定を記述する1 [#lb36a7c1]
引き続きプロジェクトの設定を記述していきます。
#ref(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 [#ledc59e3]
引き続き
-ビルドは何をするか
-ビルド後にJavaDocを保存するか、そのパスはどこか
-JUnitの結果集計は保存するか、
-ビルド等に失敗したらメールするか、
などの設定があります。
#ref(pref02.png)
まずはビルドを設定します。「ビルド手順の追加というプルダウンがあり、そこには
「シェルの実行」「Mavenの呼び出し」「Antの呼び出し」「Windowsのバッチコマンドの呼び出し」から選択することができます。
ココではAntを使用することにしました。AntのBuild.xmlはあらかじめ今回のビルド対象であるSubversionのHudsonSampleプロジェクト直下に入れておきます。「Antの呼び出し」を指定すると、Antのどのターゲットを実行するかを指定するボックスが表示されますので、「javac junit jar javadoc」とスペース区切りで指定しておきます。
ビルドで使用しているbuild.xmlは [[ビルド用ファイル>http://www.masatom.in/viewvc/Examples/trunk/HudsonSample/build.xml?view=log]]より参照することができます。コンパイルやjarの生成、JUnitの実行、JavaDocの生成など、様々な実行コマンドはほとんどAntタスクを使用しているのがわかると思います。Hudsonはそれらを定期的・継続的に実行して結果を保存してくれるツールって感じですね。
***実行してみる [#t72e1e8c]
さてココまででソースコード管理ツールやビルドするプロジェクト、ant呼び出しのターゲットなどを指定しました。
いったんここでビルドを実行してみようと思います。トップページにジョブの一覧が表示されていますので、ジョブ名が「SampleJob」であるモノを選択します。すると左にメニューが表示され「ビルド実行」というリンクが存在するので、それをクリックします。
#ref(build.png)
ビルドが実行されました。
**JavaDocやJUnit結果を保存する [#n9f3a62c]
先の画面にもあったように、ビルド後の処理としてJavaDocを保存したり、JUnit結果のレポートなどを保存することができます。
#ref(pref03.png)
JavaDocは「JavaDocの保存」にチェックを入れ、パスを指定します。パスは「HudsonSample/document/javadoc」としました。
JUnitのレポートは「JUnitテスト結果の集計」チェックを入れ、パスを指定します。パスは「HudsonSample/document/report/*.xml」としました。
ちなみにこれらのパスはAnt側で指定してるパスですね。
**TIPS集 [#ja6d78b7]
***コミットに反応してビルドを実行する [#g45fb2ab]
**関連リンク [#lce0dfb1]
-[[Hudson CI>http://hudson-ci.org/]]
-[[特集:Hudsonを使ったアジャイルな開発入門|gihyo.jp … 技術評論社>http://gihyo.jp/dev/feature/01/hudson]]
-[[suz-lab - blog: CIツールをContinuumからHudsonへ>http://blog.suz-lab.com/2008/05/cicontinuumhudson.html]]
-[[けろぶろ: Hudson(1) 導入編>http://keroblo.blogspot.com/2007/05/hudson1.html]]
-[[CentOS に Jenkins と Maven - sardineの日記>http://bit.ly/10Z0Ixc]]
-[[Jenkinsのメール通知にGmailを使う | コーヒーサーバは香炉である>http://blog.maripo.org/2012/07/jenkins-gmail/]]
-[[ぼくがかんがえたさいきょうのgitとMavenとJenkinsを使った開発 : toda_k>http://dev.worksap.co.jp/Members/toda_k/2012/08/22/git-maven-jenkins/]]
-[[Hudsonを使ったアジャイルな開発入門:特集|gihyo.jp … 技術評論社>http://gihyo.jp/dev/feature/01/hudson]]
-[[Jenkinsでビルド・パイプラインを作る | Ryuzee.com>http://www.ryuzee.com/contents/blog/4470]]
-[[おっさんエンジニアの実験室: Jenkins新規ジョブに所要時間を設定する>http://ossan-engineer.blogspot.jp/2012/09/jenkins.html]]
-[[CentOS に Jenkins と Maven - sardineの日記>http://d.hatena.ne.jp/sardine/20110602]]
-[[Android/Jenkins - ピノキヲ IT Wiki>http://pinoki.la.coocan.jp/wiki/?Android%2FJenkins#tf055f17]]
-[[Jenkins でビルドが成功したらシェルスクリプトを実行する | 暇人じゃない>http://hima-j.in/testing/jenkins-build-success-exec-script/]]
-[[Monitoring external jobs - 日本語 - Jenkins Wiki>https://wiki.jenkins-ci.org/display/JA/Monitoring+external+jobs]]
-[[RedHat Repository for Jenkins>http://pkg.jenkins-ci.org/redhat/]]
-[[Jenkins - Wikipedia>http://ja.wikipedia.org/wiki/Jenkins]]
-[[邪道jenkinsを検証してみたよ | netmark.jp>http://netmark.jp/2012/12/jenkins.html]]
-[[Jenkinsをジョブ管理ツールとして使うアイデア: プログラマの思索>http://forza.cocolog-nifty.com/blog/2012/10/jenkins-5e9c.html]]
----
この記事は
#vote(おもしろかった[2],そうでもない[0])
- ちなみにいまやHudsonでなくJenkinsって名前で、おっちゃんもかわいい顔になってますね -- [[きの]] &new{2013-04-16 (火) 23:08:00};
#comment
#topicpath
SIZE(10){現在のアクセス:&counter;}