マルチ構成プロジェクト
マルチ構成プロジェクトは,
- ネイティブコードを含むプロジェクトを扱っています。ビルドは,
対応している全てのプラットフォームで行う必要があります。 - データベースアプリケーションを書いていますが,
テストはこのアプリケーションがサポートする全てのデータベースに対して行う必要があります。 - ライブラリを書いていますが,
テストはSun,BEA,IBMのJDKで, それぞれJDK5とJDK6の両方で行う必要があります。
このような状況では,
筆者の職場では,
これも,
ビルドの基本的な部分はフリースタイルプロジェクトと一緒で,
- もし分散ビルドが設定されていれば,
「複数のノード上でのビルド」 という設定項目が表示されます。複数のOSで同時にビルドする必要がある場合等には, これを使ってビルドを行うマシンを指定します。個別のマシンを直接指定することもできますが, 例えば 「Linux,Solaris,Windowsでビルドしたい」 といった時にもし条件を満たすスレーブが十分に沢山あれば, マシン名を直接指定する代わりにラベルを利用することで, スケジューリングの自由度を高めることができます。 - もし複数のJDKが設定されて入れば,
JDKをチェックボックスで複数選択することができます。これは, 主にテストを複数のJDKを対象に行う時に便利です。何もチェックしないとディフォルトのJDKが使われ, また単に特定のJDKでビルド・ テストしたいだけの場合には一つだけチェックします。
これら2つの構成軸に加えて,
ant -Ddatabase=$db clean test
プロジェクトをビルドすると,
この機能もHudsonの中では比較的新しいですが,
外部ジョブの監視
最後に紹介するHudsonのジョブタイプは,
- sendmailやprocmailなどでは,
メールが配信された時にプログラムを使って自動処理ができます。が, このようなプログラムが正常に動作しているかを監視するのは煩雑です。 - 複数のマシン上で幾つものcronジョブが動いています。これらを一括して監視するのが煩雑です。
外部ジョブの監視機能は,
Hudson のモニタリングエージェントはhudson.
HUDSON_HOME=http://myserver.acme.org/hudson/
0 * * * * export HUDSON_HOME=$HUDSON_HOME; java -jar hudson-core.jar "backup" backup.sh 2>&1 > /dev/null
実行結果の送信に使われるXMLは非常に単純なので,
終わりに
今日まで,