在解决方案中持续部署多个网站项目

时间:2013-02-11 14:56:49

标签: msbuild visual-studio-2012 continuous-integration msdeploy continuous-deployment

我们正在使用VS2012并拥有一个包含4个网站项目的解决方案。我们在Continuous Integration msbuild参数中添加了以下MSBuild参数:

  

/ p:DeployOnBuild = True / P:Configuration = Testing / p:DeployTarget = MsDeployPublish / p:MSDeployPublishMethod = WMSvc / p:CreatePackageOnPublish = False / p:DeployIisAppPath =“{test}”/ p:SkipExtraFilesOnServer = true / p:MsDeployServiceUrl = {test} /MsDeploy.axd / P:AllowUntrustedCertificate = True / p:username = {username} / p:password = {password}

当我们办理登机手续并且持续集成运行时,它会将所有4个网站发布到同一目录。我们如何指定哪个项目属于哪个IIS应用程序?

我们已经尝试按照How to tell TFS to deploy multiple webapps containing in one solution?的建议将设置移动到csproj中。在进行更改后,签入工作但没有发布。

1 个答案:

答案 0 :(得分:16)

它正在部署到同一站点,因为您在命令行中传递了DeployIisAppPath

您可以在每个Web应用程序中使用相同名称(例如Stage.pubxml)创建发布配置文件,每个配置文件包含不同的DeployIisAppPath值。部署时,您可以指定/p:PublishProfile=Stage,它将使用该配置文件中的设置为每个特定项目

如果要从命令行指定SkipExtraFilesOnServerMsDeployServiceUrl等属性,只需将其从发布配置文件中删除即可。