CruiseControl.NETで継続的結合
以前は id:yo-taka:20050607 みたいにやってましたが、今はにこんな感じですというメモ。
面倒見ている(保守してる)のは、
- VC++のプロジェクト
- MFCアプリケーション(当然アンマネ)
- 結構大きなソリューション(30以上のプロジェクトを纏めてる! ^^;)
- VSSでソース管理
- cppUnitでUnitテストを実施している(Unitテスト用のプロジェクト&ソリューションも別途ある)
- cppUnitの結果はxml出力を利用
- 複数のバージョンがあり、各々が現役(たぶん)
- Doxygenを利用してのドキュメント生成
ってな感じ。
まぁ、便利な.NET用のツールはあまり使えませんが、以下の順で実施。
- 各リリース対象プロジェクトのソリューションをビルド -> 結果はWebダッシュボードで確認できる
- 各Unitテストプロジェクトのソリューションをビルド -> 結果はWebダッシュボードで確認できる
- NAntを使って、
上の自作プログラムは、テスト結果で異常を発見すると「コード:1」で終了する。そうすると、Webダッシュボードにはエラーとして検知されたことが表示される(もちろんCCTrayでは赤になる)。
ただソリューションでビルドしているので、インテグレーション用のサーバにVisualStudioがインストールされていなければならない...。
そうそう、Doxygenも結構時間がかかるのでソースの更新頻度が少なくなってから行うようにしています。
というとこで。