Hudson/JenkinsでVisual Studioのプロジェクトをビルドしたい、そんなとき。
MSBuild Pluginを使うよ。
MSBuild Pluginの導入
「Hudsonの管理」→「プラグインの管理」→「利用可能」タブ→
「Hudson MSBuild Plugin」にチェックを入れて「インストール」
インストールが完了したら、「ジョブが実行中でなければ再起動」ボタンを押してHudson/Jenkinsを再起動。
MSBuild Pluginの設定
導入ができたら、プラグインの設定をする。
「Hudsonの管理」→「システムの設定」
MSBuild Builderの項目が新たにできているので、nameとpathを指定する。
nameは、ジョブの設定時、MSBuildの選択肢として出てくるのでわかりやすい名前をつける。Path To msbuild.exeにはmsbuild.exeの場所を指定すればよい。
たいていの場合、C:\WINDOWS\Microsoft.NET\Framework\[version]\MSBuild.exe
私の環境では以下のバージョンがあったよ。
- v1.0.3705
- v1.1.4322
- v2.0.50727
- v3.0
- v3.5
- v4.030319
設定例
とりあえず、最新のだけ使うので
name: v4.030319
path: C:\Windows\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe
と入力して保存。必要に応じて他のバージョンも追加できる。
ジョブの設定
「ビルド手順の追加」で
Build a Visual Studio project or solution using MSBuild.
を追加
- MsBuild Versionはプルダウンメニューから使用するMSBuildを選ぶ。上のシステム設定でnameに指定したものが一覧に出る
- MsBuild Build Fileにはビルドしたいプロジェクトの.projか.slnのパスを指定
- Command Line ArgumentsにはMSBuildのオプションを設定
設定例
MsBuild Version: v4.030319
MsBuild Build File: C:\hudson\jobs\ジョブ名\workspace\プロジェクト名\プロジェクト名.sln
Command Line Arguments: /t:Rebuild /p:Configuration=Release
私の場合gitプラグインでプロジェクトをHudson/Jenkinsワークスペース以下にcloneして来てるので、cloneしてきたソリューションファイルの場所を指定しているよ。
Command Line Argumentsでリリース版のみをリビルドするよう設定。/t:は/target:、/p:は/property:の省略値。/t:cleanとかを組み合わせればクリーンビルドとかもできるね。
これでVC++のプロジェクトがビルドできたよ。
MSBuildの詳しい使い方
- MSBuild コマンド ライン リファレンス
- データベースのビルドおよび配置の概要
- もしくはMSBuild /helpを参考に。