7

我们正在使用 VS2012 并有一个包含 4 个网站项目的解决方案。我们已将以下 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 应用程序?

我们已尝试按照如何告诉 TFS 部署包含在一个解决方案中的多个 webapps 中的建议将设置移动到 csproj ?进行更改后,签入有效,但未发布。

4

1 回答 1

16

它正在部署到同一个站点,因为您是DeployIisAppPath在命令行中传入的。

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

如果您想从命令行指定属性,只需将它们从发布配置文件中删除即可SkipExtraFilesOnServerMsDeployServiceUrl

于 2013-02-12T20:47:47.077 回答