cakephpアプリケーションで継続的インテグレーションしたい、という目的。
Hudsonはhudsonのサイトからダウンロードしたhudson.warをMacアプリケーション化した。
http://d.hatena.ne.jp/kaorun55/20100327/1269618599
http://blogs.sun.com/okazaki/entry/hudson%E3%82%92mac%E3%81%AE%E3%83%87%E3%82%B9%E3%82%AF%E3%83%88%E3%83%83%E3%83%97%E3%81%AB
http://www.ryuzee.com/contents/blog/3473
ほとんどの設定はすんなり通ったが、phingの実行に失敗する。システム情報をチェックしてみると、/opt/local/bin にPATHが通ってないようだ。(Hudson, Java以外のツールphp, phing, phpunitはMacPortsでインストールしている)
このPATHの設定にかなりハマった。たぶんMacアプリケーション化したのがいばらの道だったのだろう。Hudsonの設定の環境変数をためしたり、.profileを見直したが、なしのつぶて。最終的に /Application/Hudson.app/Contents/Info.plist に次の行を足すことでHudson実行時の環境変数を設定できました。
<key>LSEnvironment</key> <dict> <key>PATH</key> <string>/opt/local/bin:/usr/bin:/bin:/usr/sbin:/sbin</string> </dict>
追加したあとは、キャッシュされた設定をクリアするために、Hudson.app を一度どこかに移動しよう。(参考: http://blogger.splhack.org/2007/03/os-x.html )
テストケースが1つもない状態だとテストは失敗になる。テストケースを書くとテスト実行数や成功数がHudsonから参照できるようになった。
まとめ
build.xml以外のほとんどの設定がブラウザでできるのはすごい楽ですね!