2012-02-21 Jenkis勉強会@楽天
川口さん
- DEV@Cloud
- マスターは別々のJVM、別々のOSユーザで稼働する。
- 1台で多数のマスターを集積している
- OSS Jenkinsの素のものを使っている
- ただし独自プラグインを使って、ユーザに使われると困るものや要らないものを消している
- 1テナント1UNIXユーザ
- スナップショットによるバックアップ
- マウントし直してサイズの拡張
- Chefで配布
- Tomcat
- 設定ファイル
- ただし、AMIをあらかじめ作っておいて差分だけ、Chefを配布している
スレーブの割り当て
- Providoreo
- スレーブの動的割り当て
- プールがあれば、そこからなければ、EC2APIを叩いてインスタンスを作る
- Linux コンテナ LXC
- OSレベルの仮想化
- もともとSolarisにある
- スレーブのリサイクルが高速
- リセットリブートが高速
- EC2からの独立性
- 下のサービスに依存しなくてすむ
Nagiosによるモニタリング
- WEB +DB PRESSにJenkins特集有るよ
はやせさん @ 楽天
- Continius Derivery読書会
- yammer上で読む本を投票
- 楽天のyammerは英語
かとうさん @ mixi
たんぽぽチーム
master 3台
- IOS
- Android
- build test
- gerrit
- だいぶモダンらしい
- mixi
execute shell
カバレッジ
- Devel::Cover:Report::Clover
- PerlでもXMLの形式に会わせればJenkinsの機能が使える
mix特有の話
- Ikachan => IRC
- 全テストに15-30分かかる
- Google Testing Blog
recent job
- コミットに関連するテストを実行する
- クラスとテストが名前ベースでルールが決まっている
- Mixi::Hoge => t/Mixi/Hoge.t or t/Mixi/Hoge/foo.t
- jsonのデータがHTTPで取れる
- $BUILD_URL
try job
- ブランチの設定
- ローカルでmake remote-testするとJenkinsの情報が分かる
??? job
- 速いマシンを使うと速いテストができる!
- Mixiは開発には仮想サーバ使っているがJenkinsだけ物理サーバ
まとめ
- Jenkins はweb apiをいっぱい使えるよ
- Feature Toggle マーティンファウラー
LT
- Smart jenkins on Ruby
- Jenkins Pluginの話
- 電力不足で、昼間スレーブが動かせないので、スケジュールでスレーブを落とす