Engineer as a Lifestyle @tenkoma

What We Find Changes Who We Become -- Peter Morville『アンビエント・ファインダビリティ 』

Mac で Hudson を動かす

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, phpunitMacPortsでインストールしている)

この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以外のほとんどの設定がブラウザでできるのはすごい楽ですね!

追記:NetBeansのHudsonサポート

NetBeans からジョブを実行できたり、失敗の通知を表示できたりする。

いいね