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を参考に。