SlideShare a Scribd company logo
Hudson ときどき Maven2 cactusman
目的 Hudson+Maven2 を使って楽々 CI の実現 目指せ!定時退社?!
アジェンダ 自己紹介 CIについて Hudsonについて Maven2との連携について デモ 補足 まとめ
アジェンダ 自己紹介 CI について Hudson について Maven 2との連携について デモ 補足 まとめ
自己紹介 HN:cactusman 年齢:0x1b 住所:関西 会社:ベンチャー 職業:プログラマ
アジェンダ 自己紹介 CIについて Hudson について Maven 2との連携について デモ 補足 まとめ
CIとは? Continuous Integration(継続的インテグレーション) XPのベストプラクティスのひとつ。 ナイトリービルド、デイリービルドの発展形
定義 従来は開発期間の中盤あるいは後半以降で行われていたシステムのインテグレーション作業を、開発の初期段階から頻繁に行うプラクティスである。 まっさらな状態から最新のソースコードをチェックアウトする。 ビルドする。 テストする。 上記のことが人の手を借りずに全て自動で、ビルドエラーやテストの失敗がなければ「成功したビルド」とする。
必要最低限な機能 SCMからチェックアウト、クリーンアップ スケジュール管理 ビルド、テスト成否判定 ユーザへの通知手段
なぜ必要か? 成果物の品質が保障がされる。 ビルドが通らない、テストが通らないということが先送りされず、発見されやすい。 デグレートが起きにくくなる。 手戻りコストの削減される。
有効なケース 多人数 分散開発 複数の実行環境(OSやミドルウェア等)
ツール Hudson CruiseControl Apache Continuun Apache Gump Anthill OS Luntbuild ・・・
アジェンダ 自己紹介 CI について Hudsonについて Maven 2との連携について デモ 補足 まとめ
Hudson 作者はSunの川口耕介さん(JAXBなど) 特徴は設定が簡単で、敷居が低い ウェブの画面で設定できる。 好きなサーブレットコンテナにデプロイして使える。 単体でも動く。 java -jar hudson.war DB不要 ビルド情報はファイルに書き出す。 プラグイン拡張 分散ビルド
対応 ビルドツール Ant Maven 1、 2 シェル SCM CVS Subversion 通知手段 E-mail RSS IM
アジェンダ 自己紹介 CI について Hudson について Maven2との連携について デモ 補足 まとめ
Maven2を使う利点(1) 開発者にとって使い勝手がいい 開発、ビルド環境をそろえるコストがantに比べ低い 開発マシンごとの違い ライブラリのバージョン 最初の一歩の敷居が低い 雛形から開発
Maven2を使う利点(2) CIと相性がいい 開発マシンとの整合性がとりやすい。 開発初期からイテレーションできる。 単体テストがMaven2側に組み込まれている。 ビルドマシンが壊れて置き換える場合やビルドマシンを追加しても、素早く簡単に構築できる。
Hudson+Maven2 HudsonはMaven2に対応(ベータ)。 マルチプロジェクトに対応。 Hudson用にPOMをいじる必要がない。 Hudsonの立場では、Maven2はいちビルドツール。 他のビルドツールもまぜて使える。
アジェンダ 自己紹介 CI について Hudson について Maven 2との連携について デモ 補足 まとめ
デモ環境 CIサーバ OS:CentOS 5.0 Java:JDK6 u3 リバースプロキシ:Apache 2.2.3 サーブレットコンテナ:Tomcat 6.0.14 CIツール:Hudson 1.159 ビルドツール:Maven2 2.0.7
デモ概要図 チェックアウト ダウンロード 設定、ビルド 結果 クライアント CIサーバ SCMサーバ
デモ
アジェンダ 自己紹介 CI について Hudson について Maven 2との連携について デモ 補足 まとめ
Hudson+Maven2の補足(1) 結合テストやシステムテストは別途必要。 Maven2はビルドツール、HudsonはCIツール。  役割分担が重要。
Hudson+Maven2の補足(2) Hudsonで複数ジョブをチェーンさせるには一工夫いる。 Hudsonはジョブごとにworkspaceを作るため、ジョブ間を跨いでworkspaceを利用できない。 ジョブごとにリポジトリ内のフォルダをわけて運用 ジョブの成果物はwgetやAntのgetタスクで取得
アジェンダ 自己紹介 CI について Hudson について Maven 2との連携について デモ 補足 まとめ
まとめ プロジェクト初期から CI を導入して手戻りコストを減らそう。 CI に適しているのが Hudson + Maven2 。 CI 導入の結果、時間を有効利用。 勉強、社内環境整備、別プロジェクトの手助け・・・ 定時に帰れるかも?
ご清聴ありがとうございました。

More Related Content

PDF
jenkinsのすゝめ - 継続的インテグレーションと継続的デリバリー
PDF
Report JAZUG activities 2010.08-2011.09
PDF
継続的デリバリーと読み解く Web 開発あるあるとその対策
PPTX
Microsoft azureとdockerとansibleと
PDF
Agileツール適合化分科会(構成管理・ビルドツール)
PPTX
[社内勉強会]Gradleを使おう
PDF
Web技術勉強会 第31回
PDF
WAS LibertyでCloud-ReadyなJava EE7アプリ開発
jenkinsのすゝめ - 継続的インテグレーションと継続的デリバリー
Report JAZUG activities 2010.08-2011.09
継続的デリバリーと読み解く Web 開発あるあるとその対策
Microsoft azureとdockerとansibleと
Agileツール適合化分科会(構成管理・ビルドツール)
[社内勉強会]Gradleを使おう
Web技術勉強会 第31回
WAS LibertyでCloud-ReadyなJava EE7アプリ開発

Similar to HudsonときどきMaven2 (20)

PPT
頼れる執事があなたをサポート
PDF
Agileツール適合化分科会(ci ツール)
ODP
Hudson (JJUG CCCにて)
PDF
Jenkins勉強会
PPTX
Jenkins勉強会 in 札幌 第一部
PDF
Jenkinsを利用したCI、弊社導入事例
PPTX
CIのもたらす世界
PDF
Jenkinsstudy#4kokawa
PPTX
Jenkins
PDF
Jenkinsについて
PPTX
Jenkinsのある生活
PPTX
CI(継続的インテグレーション)
PDF
自動化を支えるCI/CDツールの私の選択 ~何をするためにCI/CDツールを選ぶか~
PDF
自動化を支えるCI/CDツールの私の選択 ~何をするためにCI/CDツールを選ぶか~
PPTX
Hudson 勉強会
KEY
Aizu.LT16 社会人1年目の失敗とContinuous Integration
PDF
Web技術勉強会 20120114 - JenkinsでJava/PHP/Ruby/JavaScriptをビルドする
PDF
改訂第3版 Jenkins 実践入門 what's newから見るJenkinsのUpdate
ODP
Jenkins導入ライブ
PDF
ビルドプロセスとCI #STAC2014
頼れる執事があなたをサポート
Agileツール適合化分科会(ci ツール)
Hudson (JJUG CCCにて)
Jenkins勉強会
Jenkins勉強会 in 札幌 第一部
Jenkinsを利用したCI、弊社導入事例
CIのもたらす世界
Jenkinsstudy#4kokawa
Jenkins
Jenkinsについて
Jenkinsのある生活
CI(継続的インテグレーション)
自動化を支えるCI/CDツールの私の選択 ~何をするためにCI/CDツールを選ぶか~
自動化を支えるCI/CDツールの私の選択 ~何をするためにCI/CDツールを選ぶか~
Hudson 勉強会
Aizu.LT16 社会人1年目の失敗とContinuous Integration
Web技術勉強会 20120114 - JenkinsでJava/PHP/Ruby/JavaScriptをビルドする
改訂第3版 Jenkins 実践入門 what's newから見るJenkinsのUpdate
Jenkins導入ライブ
ビルドプロセスとCI #STAC2014
Ad

HudsonときどきMaven2