JenkinsでCI(continuous integration)

先週インストールを行ったCentOSですが、目的として2つを想定していました。

1つがRuby on Rails3アプリの動作確認環境の構築とVPS利用時の環境構築確認。そしてもう一つがJenkinsによるCI(Continuous Integration)環境の構築です。早速昨夜から取り組んだのですが、例のごとく外堀を埋めるのに時間かかかりました…。

これまでもCIは導入しようとしてきたのですが、結構手間な事とその意義をいまいち理解できなかった(おもしろそうというだけだった…)ので適当にかじっては導入しないで放り出していました。Ruby on Rails3で開発するようになって、さすがにデグレってしまうことが多くなった(※)ので、バグの早期検出を目的として導入しようと思いました。

ビルド環境のような手間のかかるものはWindowsでとも思ったのですが、Rubyの開発環境をMacにしてかつサーバーもLinuxを中心にすると決めていたので手間であることは承知でCentOSへのインストールを行いました。

インストール手順はまとめられていないのでそのうちまとめたいと思いますが、Jenkins自体のインストールは30分程度で終了します。(JDKのインストール含む)

まだまだプラグインなどインストールできていないものも多いので設定で四苦八苦しそうですが、SVNからチェックアウト→FunctionalTestを定期的に実行できるようになったことはとてもうれしいことです。

※ おそらくこれまでデグレーションしていることに気づく機会が少なかったのだと思う。テストは書いていたけれどもどちらかというと単体レベルばかり。Ruby on Rails3ではIntegrationTestまで用意されているので、デグレーションがすぐにわかるのではないかと思う。