TFSの自動ビルドでWebアプリのデプロイ、配布パッケージの作成を同時に行う #tfsug

TFSを利用していつも継続的インテグレーションをしてます。

ビルドが成功したら動作確認用サーバに上げたくなります。
そして検証が完了したらデプロイしたアプリケーションを受入テスト等の別環境にデプロイしたくなります。

そんな課題を MSBuild のオプションを指定するだけで楽に解決する事ができます。

環境

設定内容

対象とする自動ビルドのビルド定義を開き「プロセス」→「ビルドプロセスパラメータ」→「MSBuild引数」に以下を指定します。/p:MSDeployServiceUrl、/p:DeployIISAppPath の値は任意に変更してください。

/p:CreatePackageOnPublish=true /p:DeployOnBuild=True /p:DeployTarget=MsDeployPublish /p:MSDeployPublishMethod=InProc /p:MSDeployServiceUrl=localhost /p:DeployIISAppPath="Default Web Site/TargetApp" 

(ここです)
f:id:kaji_3:20120915003524p:plain

配布パッケージは、ビルド出力の格納先フォルダにあります。
(格納先フォルダの場所は、「ビルドの規定値」→「ステージング場所」です。)

格納先フォルダの実行したビルド結果のフォルダ内、「_PublishedWebsites」フォルダの下にあります。

当然ですが、デプロイについてはIISにデプロイする権限があるユーザで実行する必要があります。ご注意ください。