// 下階層用テンプレート #topicpath ---- //ここにコンテンツを記述します。 #contents **概要 [#u74ba26f] HudsonはJavaで実装されたContinuous Integrationのためのツールです。Subversionなどのバージョン管理システムからからソースコードをチェックアウトしてきて、ソースをコンパイルしたりJUnitのテストを実行したりなど、継続的インテグレーション開発の手助けをしてくれます。 HudsonはJbossなどのServletコンテナで稼働するwar形式で配布されています。またHudsonのwar自体にも軽量のサーブレットエンジンが同梱されていて、コマンドプロンプトから java -jar hudoson.war とやって実行することも可能です。 **ダウンロード [#t4464eec] http://hudson-ci.org/ にあるリンクよりダウンロード可能です。 **インストール [#ne5a1dec] ダウンロードしたwarについて、先のコマンド java -jar hudoson.war を実行するか、通常のwarファイルのようにサーブレットコンテナにデプロイすればインストールは完了です。 蓄積されるいろいろなデータファイルは、コンテナのオーナのカレント ~/.hudson/ 配下に保存されるようです。 ちなみに起動するポート番号を変更するには java -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]) #vote(おもしろかった[3],そうでもない[0]) - ちなみにいまやHudsonでなくJenkinsって名前で、おっちゃんもかわいい顔になってますね -- [[きの]] &new{2013-04-16 (火) 23:08:00}; #comment #topicpath SIZE(10){現在のアクセス:&counter;}