遅ればせながらJenkinsを試してみました。

継続的インテグレーションは、複数の開発者が関わる大きなプロジェクトにおいて品質を保つための手法として効果的なのは明らかなんですが、いやいや独りプロジェクトでもかなり役立ちそうですよ。テストをサボれないメカニズムとして有効だし、カバレッジと連携させるとテストを書くモチベーションにもなる。プロジェクト開始時に一度セットアップしてしまえば、あとは現在のテスト状況が自動的に赤裸々に発表され続けるだけなので、たいして負担はありません。負担を軽減して確実にテストを継続させることが目的のツールです。

201306jenkins

僕の場合、ターゲットはRVM環境のRailsプロジェクト。システムワイドにRVM 1.20を入れていますが、この環境でJenkinsのRVM Pluginがうまく動きませんでした。そこでPluginを使わず、ビルドの「シェルの実行」で次のように記述してみました。

#!/bin/bash
source /usr/local/rvm/scripts/rvm
/usr/local/rvm/bin/rvm use 2.0.0
bundle install --path vendor/bundle
bundle exec rake db:migrate RAILS_ENV=test
bundle exec rspec

これでうまくいってるぽいです。