話にはよく聞くけど実際 Jenkins 使ったことないなーってことで、ちょうど手元で試してた rails3 のプロジェクトを対象に構築してみることにした。
rails3 でカバレッジ計測
以前は rcov 使ったと思うんだけど、rcov は 1.9.* には対応してないらしい。 最近の流行りは simplecov らしいってことで simplecov を入れる。
参考: Ruby 1.9.2 + Rails3でテストカバレッジを取るにはSimpleCovが良さそう | FIRN.JP
ちなみに rspec までは導入済みという前提。
必要なのは simplecov と simplecov-rcov。前者がカバレッジ計測で後者は出力フォーマットを rcov 互換にする。
まずは Gemfile に simplecov と simplecov-rcov を追加。
group :test do
gem 'simplecov', :require => false
gem 'simplecov-rcov', :require => false
end
追加したら bundle install を実行。
$ bundle install
spec/spec_helper.rb に以下の記述を追加。 require 'rspec/rails' よりも前じゃないと正常に動作しないっぽい。
require 'simplecov'
require 'simplecov-rcov'
SimpleCov.formatter = SimpleCov::Formatter::RcovFormatter
SimpleCov.start 'rails'
準備ができたら rake spec を実行する。結果は coverage/rcov 以下に出力される。
$ rake spec
simplecov の設定はひとまず完了。
Jenkins インストール
Jenkins サーバに rvm をインストールする
手順は 以前エントリにまとめた のでそれをそのまま使う。
開発マシンから git clone するために ssh 公開鍵の設定
gitconfig の設定
これを済ませておかないと clone でこける。
参考: Ubuntu ServerにJenkinsをセットアップしてGitレポジトリと連動するまでのまとめ - jiska
sudo -u jenkins -H git config --global user.email "jenkins@jenkins-server"
sudo -u jenkins -H git config --global user.name "jenkins"
必要なプラグインをインストールする
今回の用途だと以下の三つを入れておくといいらしい。
- Jenkins ruby metrics plugin
- Jenkins GIT plugin
- Jenkins Rake plugin
インストールは http://jenkins-server:8080/pluginManager から GUI で実行可能。便利。