Hudsonで.NETのCI環境を簡単に構築する方法
.NET開発の継続的インテグレーション(Continuous Integration)の仕組みとして、Hudsonが利用出来ます。その備忘録を残します。
Hudsonに以下のプラグインを導入します
HudsonにMSBuildプラグインを導入
http://wiki.hudson-ci.org/display/HUDSON/MSBuild+Plugin
msbuild.hpi をダウンロード
HudsonにNUnitプラグインを導入
http://wiki.hudson-ci.org//display/HUDSON/NUnit+Plugin
nunit.hpi をダウンロード
MSBuildプラグインの設定
http://localhost:8080/configure にアクセス
MSBuild Builder 項目の MSBuild installation を追加する。
name: MSBuild
Path To msbuild.exe: C:\WINDOWS\Microsoft.NET\Framework\v3.5\MSBuild.exe
保存します、これでMSBuildが使用出来ます。
.NETのプロジェクト開発環境
Microsoft Visual C# 2008 Express Edition を使用します。
http://www.microsoft.com/japan/msdn/vstudio/Express/
Hudsonのジョブの作成
[新規ジョブ作成] -> [フリースタイル・プロジェクトのビルド] で新規作成します。
Hudsonのジョブの設定
ソースコード管理システム
[Subversion] にチェック
リポジトリURL: http://xxx.xxx.xxx.xxx/svn/Hoge/trunk/Hoge
ローカルモジュールディレクトリ (オプション): .
ビルド
[ビルド手順の追加] -> [Build a Visual Studio project or solution using MSBuild]
MsBuild Version: (Default)
MsBuild Build File: Hoge.sln
Command Line Arguments: /p:Configuration=Release
[ビルド手順の追加] -> [Windowsバッチコマンドの実行]
"C:\Program Files\NUnit 2.5\bin\net-2.0\nunit-console.exe" HogeTest\bin\Release\HogeTest.dll /xml=nunit-result.xml /config=test.config
exit 0
結果
- リポジトリからソースを取得して、自動ビルド、自動テストはいけます、 これで.NETでも最低限のCIは可能です。
- 自動ドキュメント作成として、SandcastleをMSBuildから実行しようとしましたが上手くいきませんでした・・