如何使用msdeploy而不是msbuild部署项目

时间:2013-10-24 13:07:00

标签: msbuild msdeploy webdeploy

今天我使用msbuild将Web应用程序部署到iis服务器。如何使用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

1 个答案:

答案 0 :(得分:15)

这取决于您希望工作流程是什么,如果您想要打包输出并单独部署,那么您需要从构建中创建一个zip文件。

创建包

将以下内容添加到msbuild命令行以创建包:

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

部署包

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

您可能还希望从一个已部署的站点升级到另一个站点。

克隆网站

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"