ということで、業務の空き時間をちょこちょこ使うことでついにWindows/Linuxの混在ビルド環境ができました。
環境を書いておくと
ホストOS:CentOS 5.2
ゲストOS(VMWare Server): Windows Vista / Ubuntu 8.10
で、HudsonをホストOSに入れTomcatで運用。
WindowsをJNLPで、Ubuntuをsshでslave.jarを呼び出す形でSlaveに追加し、ホストOSも同時実行するインスタンス数はHudsonの設定で0にし、別途Slaveとして追加しています。つまりMaster1台+ Slave3台です。
前はLinuxのSlave追加に悩んでいましたが、理屈が分かってからはWindowsの方が設定に悩みました。
以下Windowsの設定で悩んだことです。
1. WindowsでVisualStudioを使ってビルドするときはSlaveのサービスを起動するユーザをHudsonを動かすユーザにする必要がある。
そうじゃないとビルド時にオブジェクトが一致しないとか言うエラーメッセージが出てビルドができない。
discypusさんで解決情報を見つけたはずなんだけど検索しても見つけた情報が見つからなくなってる orz
2. JNLPでWindowsをSlaveに追加しHudsonをサービスとして起動するとき、Slaveの名称に半角スペースを含んでいるとサービスが起動しない。
3. 自分の環境だとなぜかWindowsのSlaveが一定時間経つとHudsonとの接続がきれ、サービスが勝手に終了してしまった。原因は分からないがWindowsのサービス設定で自動的に再起動するように設定したら大丈夫そう。
まだまだ改善点はありますが、大分ノウハウもたまってきました。