如何在单个MSBuild命令中部署许多MSDeploy发布配置文件?

时间:2014-02-09 23:39:28

标签: msbuild msdeploy webdeploy

我有一个项目需要使用几种不同的配置进行部署(具体来说,将相同的软件包部署到2个不同的IIS应用程序)。我已经设置了2个发布配置文件,每个都在单独调用时创建一个包。我想用一个命令创建两个包。

我尝试过这样的命令,但他们倾向于忽略第二个配置文件:

msbuild MyWebProject.csproj /p:DeployOnBuild=True "/p:PublishProfile=FirstProfile;PublishProfile=SecondProfile"

有没有办法可以使用单个命令来部署两个配置文件?

1 个答案:

答案 0 :(得分:3)

我知道这不是你要求的严格要求,但是你考虑过建造一次并部署两次吗?

要通过msbuild实现这一点,您可以创建一个调用msdeploy的msbuild项目。

构建(创建包)

msbuild MyWebProject.csproj
    /p:DeployTarget=Package
    /p:PackageLocation=MyWebProject.zip
    /p:CreatePackageOnPublish=True

两次部署

msdeploy.exe 
    -verb:sync 
    -source:Package=MyWebProject.Zip 
    -destination:auto:ComputerName="my.server1.com"
    -declareParamFile:Params1.xml

msdeploy.exe 
    -verb:sync 
    -source:Package=MyWebProject.Zip 
    -destination:auto:ComputerName="my.server2.com"
    -declareParamFile:Params2.xml