Groovy and-hudson2

28
ぐるーびー はどそん おくきよたか

Transcript of Groovy and-hudson2

Page 1: Groovy and-hudson2

ぐるーびー�と はどそん

おく きよたか

Page 2: Groovy and-hudson2

自己紹介

•奥清隆(おくきよたか)

•株式会社クロノス

• JGGUG関西支部

•仕事:Java、Objective-C

Page 3: Groovy and-hudson2

id:kiy0taka• http://d.hatena.ne.jp/kiy0taka

• http://twitter.com/kiy0taka

• http://github.com/kiy0taka

• http://gist.github.com/kiy0taka

• http://code.google.com/u/kiy0taka333

※kiy0takaの0は数字のゼロ

Page 4: Groovy and-hudson2

Gist Feed

http://gistfeed.appspot.com/

Page 5: Groovy and-hudson2
Page 6: Groovy and-hudson2

ビルドに関する問題

•コミットし忘れて、偉い人に怒られる

•自分の環境では動くけど、他人の環境では動かない

•昨日はちゃんと動いてた

•ビルドのやり方がわからない

Page 7: Groovy and-hudson2

Hudson• http://hudson-ci.org/

• CI(継続的インテグレーション)ツール

•頻繁にビルドするツール

•インストール、設定が簡単

•豊富なプラグイン

Page 8: Groovy and-hudson2

インストールwget http://hudson-ci.org/latest/hudson.warjava -jar hudson.war &open http://localhost:8080/

Page 9: Groovy and-hudson2

GroovyとHudson

•スクリプトコンソール

•Hudson CLI

•G*なプラグイン

Page 10: Groovy and-hudson2

スクリプトコンソール•Hudson版 Groovy Web Console

•Web画面からGroovyスクリプトを入力してHudson上で実行できる

Page 11: Groovy and-hudson2

Hudson Terminal

•スクリプトコンソール上でOSコマンドを実行するGreasemonkeyスクリプト

• http://gist.github.com/72335

• GroovyConsole版があれば便利かも

Page 12: Groovy and-hudson2

Hudson CLI•コマンドラインインタフェース

•CUI で Hudson の管理ができる

•リモートのHudsonに対してGroovyスクリプトを実行できる

• groovysh も使える

•Hudson 使ってる人は全員JGGUGに入るべき

Page 13: Groovy and-hudson2

例) Grailsの設定

•Grails ダウンロード&インストール

•Hudson Grails Builder インストール

•Hudson 再起動

•Hudson Grails Builder 設定

Page 14: Groovy and-hudson2

Groovyで自動化

Page 15: Groovy and-hudson2

GrailsInstaller.groovy•HudsonでGrailsをビルドするための設定を自動化

• http://gist.github.com/216943

•使い方% java -jar hudson-cli.jar \

> -s http://yourserver/hudson \

> groovy GrailsInstaller.groovy

Page 16: Groovy and-hudson2

G*なプラグイン• Groovy Plugin

• Groovy Postbuild Plugin

• Grails Plugin

• Gant Plugin

• Gradle Plugin

Page 17: Groovy and-hudson2

Grailsアプリをビルド

•テストレポート

•カバレッジレポート

•静的解析結果レポート

•デプロイ

Page 18: Groovy and-hudson2

テストレポート

•ターゲット:test-app

• JUnitテスト結果の集計:

target/test-reports/TEST-*.xml

Page 19: Groovy and-hudson2

カバレッジレポート•grails install-plugin grails-coverage

• Hudson Cobertura plugin

•ターゲット:test-app -coverage -xml

• Coberturaカバレッジ・レポートの集計:

target/test-reports/cobertura/coverage.xml

Page 20: Groovy and-hudson2

静的解析レポート•grails install-plugin codenarc

• Hudson HTML Publisher plugin

•ターゲット:codenarc

• Publish HTML reports:

CodeNarcReport.html※ 残念ながら、今のところCodeNarc用の

Hudsonプラグインはありません。

Page 21: Groovy and-hudson2

デプロイ

•Grails Tomcat Pluginではなく

•Hudson Deploy Plugin

Page 22: Groovy and-hudson2

GrailsとHudson• Grailsのようなフルスタックフレームワークはビルド

も楽できる

• CI環境の構築も楽できる

• スローテスト問題(ビルドに時間がかかりすぎる)が起こったらプラグイン化してしまえば良い(?)

• 動的言語が不安なら頻繁にビルドして健康状態を保つべき

• CIについてもJavaの資産をうまく使えるのは嬉しい

Page 23: Groovy and-hudson2

まとめ

•GrailsにもHudsonにもプラグインがありすぎて困る

•Hudsonはビルドだけではなく、データのバックアップしたり、Seleniumのクラスタになったり、Groovyを実行できたり色々出来る

Page 24: Groovy and-hudson2

おまけ

Page 25: Groovy and-hudson2

Hudson GCrawler Plugin

• Google Codeにホスティングされている Grailsアプリを探してきてビルドし続ける

•Codehaus上のGrails Plugin晩を作ったら怒られた

http://gcrawler.org/

Page 26: Groovy and-hudson2

Grails Installer Plugin

•リリースされているGrailsの全バージョン(beta、RC含む)をHudsonにインストールするプラグイン

http://dl.dropbox.com/u/718715/grails-installer.hpi

Page 27: Groovy and-hudson2

Hudson Griffon Plugin

• Grails Pluginを参考に作ったプラグイン

•GriffonのビルドにはGUI環境が必要

http://dl.dropbox.com/u/718715/griffon.hpi

Page 28: Groovy and-hudson2

Hudson Assembler

•プラグインを入れるたびに再起動するのが面倒なので、プラグインインストール済みのhudson.warを作成するGriffonアプリ。

http://hudson-assembler.googlecode.com/