Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
SlideShare a Scribd company logo
すごい cron ?
Jenkins を試した
2013-07-06 広島Ruby勉強会 #032
cron の代わりに
jenkins を使うことにしてみた
cron の代わりに
jenkins を使うことにしてみた
そろそろJenkins力を上げたいし
cron って何?
•決まった時間に
•コンピュータに仕事をさせる
Jenkins って何?
•継続的インテグレーションを行うための
支援ツール
•ビルド -> テスト実行 -> デプロイ
•全体の流れを自動化
•失敗したら通知
Jenkins
•こんな時にジョブが動く
•コミットした時
•毎日0時 のような決めた時間に
Cron の代わりにできる
Mac の cron の問題
•スリープ中の実行がどうなってるのかよ
くわからない
とりあえず良い点
•いつ実行されたかわかりやすい
•失敗したかどうかわかりやすい
•失敗した時に再実行が楽
•定時処理以外にも コミットをきっかけ
にできる
とりあえず良い点
•ジョブ終了後に別のジョブを開始できる
•同時に実行できるジョブを制限できる
•実行結果との関連付けされる
まだ試せてないけど
•ジョブの分散が簡単にできるらしい
•ジョブの実行を外部に任せられる
•ローカルマシンでの実行が苦しくなっ
たら外に
起きてる問題点
•スリープ中に
•毎10分に行うジョブが
•1時間に1回しか走らない
•遅延する
•1分程度の ネットワーク通信が失敗す
る
スリープ中
•よく失敗するので
•先に書いた利点が意外と聞く
•遅延は Mac のシステム環境設定で
•特定時刻にスリープを解除することで
なんとかなりそう
•ただし、1日1回
実際に試してること
•パッケージの更新
•eix-sync
•emerge -uD world
•rails プロジェクトのテスト実行
•結果を残しておきたい
パッケージのアップデート
•おおむね毎日やる
•勝手にやって欲しい
•vcs-head 利用してるのも自動化したい
ジョブ一覧
実行結果
ジョブの連携
毎時0分に実行
スリープ中も動いてる
セットアップ関連
•ログインユーザで実行したい
•jenkins の実行ユーザを変更した
•その代わり セキュリティ設定大事
詳しい設定方法は
そのうち blog で
おまけ
•jenkins の ruby関連のpluginについて
試したもの
•rbenv plugin
•ruby metrics plugin
rbenv
•jenkinsの作業ディレクトリに新規にイ
ンストールしてしまう
•ディスクがないので
•使わなかった
•環境変数を設定して自分でインストー
ルしたものを利用
ruby metrics
•様々な情報を表示しつつ、統計がとれる
•テスト結果
•TODO や FIXME といったマーク
•コードの量
•テストのカバレッジ
テスト結果
•JUnitテスト結果の集計
•JUnitのテスト結果と同じ出力を用意
すれば使える
•ci_reporter
•失敗したテストなども見れる
テスト結果
テスト結果
TODO や FIXME といったマーク
•Publish Rails Notes report
•rake notes の出力を使う
•コード中にいれた TODO
の場所がわかる
Annotaions
すごい cron ? - Jenkins 試した
コード量
•Publih Rails stats reports
•rake stats の結果を利用
•コードの量やテストに対するコード量
の情報を表示
すごい cron ? - Jenkins 試した
テストのカバレッジ
•Publish Rcov report
•テストを実行した際に
•テストされてないコードがわかる
•simplecov の実行結果を利用
•simpelcov-rcov を使う jenkinsが読め
る出力を作成できる
すごい cron ? - Jenkins 試した
詳しいやり方は
Blog にでも
ご清聴ありがとうございます

More Related Content

すごい cron ? - Jenkins 試した