CI は Corporate Identity じゃなくて Continuous Integration1の略ね。
- Hudson
- Javaなので思考停止
- CruiseControl
- Javaなので思考停止。ただし Rake とかに対応してるよってはっきり書いてあるし、その辺はいいかも
- CruiseControl.rb
- CruiseControl の Ruby port. ちょっと Ruby のバージョンに対して繊細すぎる。本番投入は難しい気がする。
- DamageControl
- もう active じゃないよって書いてある
- Buildbot
- 要 Python + Twisted
以下ちょっと個別に。
Hudson
個人的には日本語の情報はこれがいちばん目につくんだけど、Java なので LL 文化圏と合わないんじゃないかとか、FreeBSD 使いのサガとして Java はちょっと面倒くさい2という思い込みがあって尻込みしている。
Hudson の方で各種パッケージシステム用に respository を用意しているので Java さえ動いていればたぶんインストールは簡単。plugin システムで、plugin がやたら豊富。でも plugin て Java で書くんだよね。それを思うとやっぱり尻込みしたり。(Python なら書けるのかっていうとそんなことないけど。)
CruiseControl
これも Jav(ry
バカっぽい話だけどドキュメントの見た目は Hudson より好み。いや、こういうフィーリングって大事だと思うんです。
対応 Build ツールに sh script が入っていて PHPUnit が入っている…ように見えるけど PHPUnit の方は 404 だった。うむ。まぁ PHPUnit に対応してても個人的には嬉しくないんだけど。
対応 SCM がちょっと少ない?
Buildbot
Python のバージョンも VCS も比較的広くサポートしているので他のものより導入が楽かも。パッケージ対応はこんな感じ。
ports | YES |
MacPorts | YES |
CentOS 5.0 | NO |
Debian 5.0 | YES |
ドキュメントは地味だけど、こういう形がいちばんしっくりくる old type なので問題なし。
まだ何もしないよ
いずれにせよ、すごく古くテストも揃っていないアプリなどが対象になるので、すぐにしゃかりきになって頑張ろうという気はないです。とりあえず流してみただけ。
そんなことより Cucumber はどうした。Hudson と組み合わせてる人がいるのは分かった。やっぱ Cucumber で外からテストするのが先なのかなぁ。でもそれこそ Nokogiri で対処できるかどうかも怪しいしなぁ。(まだもやもやしている。)