2013-10-24 17 views
7

今日、私はmsbuildを使用してiisサーバーにWebアプリケーションを展開します。 msdeploy(コマンドライン)を使って同じことをするにはどうすればよいですか?msbuildの代わりにmsdeployを使用してプロジェクトを展開する方法

MSBuild.exe myproject.csproj 
/P:VisualStudioVersion=11.0 
/P:Password=pass 
/P:AllowUntrustedCertificate=true 
/P:DeployOnBuild=True 
/P:PublishProfile=deploytest 
/P:DeployIISAppPath="Default Web site" 
/P:MsDeployServiceUrl=my.server.com 
/P:Configuration=Release 

答えて

14

それはあなたが出力をパッケージ化し、別々にそれを展開する場合、あなたはあなたのビルドからzipファイルを作成する必要があります、あなたはあなたのワークフローがなりたいものを依存します。

/p:DeployTarget=Package 
/p:PackageLocation=MyProject.zip 
/p:CreatePackageOnPublish=True 

配布パッケージ

msdeploy.exe 
    -verb:sync 
    -source:Package=MyProject.Zip 
    -destination:auto:ComputerName="my.server.com" 

あなたはまた、から促進することがあります:

パッケージ

パッケージを作成するためにあなたのMSBuildのコマンドラインに以下を追加作成します。あるサイトを別のサイトに展開した

クローンサイト

msdeploy.exe 
    -verb:sync 
    -source:appHostConfig="my.server.com" 
    -dest:appHostConfig="mynew.server.com" 

それとも、すでにあなたがターゲットとするサイトであってもよいです。

クローンアプリケーション

msdeploy.exe 
    -verb:sync 
    -source:iisApp="my.server.com/MyApp" 
    -dest:iisApp="my.server.com/MyNewApp" 
+0

のみ展開ウェブを使用する方法はありますか? –

+0

msdeployを使用してビルドすることはできませんが、msbuildを使用してビルドして展開することも、msbuildを使用してビルドしてmsdeployを使用して展開することもできます。あなたのユースケースはここでは分かりません。 –

+0

私は今それを得ると思います。私はmsbuildを "それを行う古い方法"とみなし、よりクリーンな方法でmsdeployしました。しかし、あなたがそれをそのように置くと意味があります。ありがとう! –

関連する問題