我有一个项目需要使用几种不同的配置进行部署(具体来说,将相同的软件包部署到2个不同的IIS应用程序)。我已经设置了2个发布配置文件,每个都在单独调用时创建一个包。我想用一个命令创建两个包。
我尝试过这样的命令,但他们倾向于忽略第二个配置文件:
msbuild MyWebProject.csproj /p:DeployOnBuild=True "/p:PublishProfile=FirstProfile;PublishProfile=SecondProfile"
有没有办法可以使用单个命令来部署两个配置文件?
答案 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