PHP, symfony, プログラミング

Hudsonでsymfony自動テスト環境をつくる

Hudsonを使ってsymfonyの自動テスト環境をつくる。いわゆるCIツールってやつ。

健全なソフトウェアは、テストコードがそれなりの規模になっているため、
全てを毎回実施するのは現実的ではありません。
といっても、自分が変更した部分のテストは実施してからコミットすべきです。

Hudsonを使って常にテストが通るソースコードを維持しましょう。
仮にテストが通らないバグを埋め込んだとしても、
Hudsonによって、テストが通らないことをいち早く気づくことができます。

複数人数でソースコードに手を加える時に、より効果を発揮します。

インストール方法

$ wget http://hudson-ci.org/latest/hudson.war
$ java -jar hudson.war

詳細なオプションについてはこちらをごらんください。

[Winstone 2010/06/06 22:13:21] – HTTP Listener started: port=8080

こんなのが表示され、http://localhost:8080/ へブラウザでアクセスすればOK

Screen shot 2010-06-07 at 10.55.27 AM.png

「新しいジョブ」をクリックして、ジョブを追加する。

Screen shot 2010-06-07 at 10.56.31 AM.png

svnからソースを取ってくる場合は、フリースタイル・プロジェクトのビルド。
一通り、指定されているように入力していけば問題ない。

Screen shot 2010-06-07 at 11.06.27 AM.png

「ビルド」をsymfonyのテスト方法にそって、書いてあげる必要がある。それぞれの環境に応じて直してください。

$WORKSPACE/trunk/symfony configure:database –env=test –name=propel –class=sfPropelDatabase “mysql:host=localhost; dbname=db_test” mylogin “mysqlpassword”

$WORKSPACE/trunk/symfony test:all –xml=log/build_$BUILD_NUMBER.xml

この2点を設定すればOKです。その他の項目は好みに応じて利用してみてください。
Hudsonの詳しいマニュアルはこちら

後は指定された時間やトリガーによって、ビルドがおこなわれます。

とりあえず、昨日今日でさくっと構築しただけなので、詳しいこと知りたい人はコメントいただけると幸いです。

Post to Twitter


ブックマーク: add to hatena hatena.comment (14) add to del.icio.us (0) add to livedoor.clip (0) add to Yahoo!Bookmark (0) Total: 14

コメントもしくはトラックバックをください

You can skip to the end and leave a response. Pinging is currently not allowed.