継続的な

インテグレーションについては、このへんが参考になります。

http://www.ibm.com/developerworks/jp/views/java/libraryview.jsp?search_by=%E4%B8%87%E4%BA%BA%E3%81%AE%E3%81%9F%E3%82%81%E3%81%AE%E3%82%AA%E3%83%BC%E3%83%88%E3%83%A1%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3

ほかの部署の人の話を聞くと、インテグレーションがどうこう以前にunitを書かないとか書く意味が分からないとか言う人もいるらしいです。死ねばいいのに。

siの経験は短いですが、インテグレーションできているかできていないかでプロジェクトの明暗が分かれるような傾向があるような気がしないでもありません。そもそも、継続的インテグレーションの導入なんかhudsonだろうとcruise controlだろうとcontinumだろうと大して難しくなくて、それができる技術力がないとかそもそも知らないとか自動化する仕事は自分の仕事じゃないとか思ってるとかそんな暇ないとか、言い訳にならない言い訳ばかりならべてプロジェクトのルーティン時間が減らないのはだめだめコース一直線じゃないの。問題はやるかやらないかだけ。


hudsonに移行したのが9ヶ月くらい前ですが、unitによるリグレッション自動化、開発環境へのデプロイ自動化、ドキュメントバックアップ自動化、dbバックアップ自動化、結合リグレッション自動化、リリースモジュール作成自動化、など、最近始めたのもありますが、この一年間でいろいろな作業が自動化されています。もともとbat/shで自動化していたものもありますが、そいつらは全部hudsonに載せ換えています。ログ履歴管理と成果物履歴管理、コミット履歴管理ができるだけで、利便性という観点からはwindowsのタスク管理とcronは遥かに超えていて、もはや使わない理由がないです。

最近PMが替わって、こういう自動化はそれ自体が資産になっていて、プロジェクトが継続する限りはその資産がかなり有効に使えることになるという話をしました。確かにその通りという感触です。

もともとは、継続的インテグレーションとして、コミットされている成果物に対してunitかける程度でしたが、インテグレーションを成長させるプロセスで、結果的にはかなりのルーティンワークを排除することができています。


チェックアウトしてビルドするだけでもコンパイルエラーの検出自動化はできるので、スモールスタートでもいいからやってしまえばいいんじゃないかと思います。最悪、自分のPCを夜動かしてしまえばできるので。問題はやるかやらないかだけなので。