msbuild - 在解决方案中使用多个网站项目进行持续部署

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

我们正在使用 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}



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

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

最佳答案

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

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

如果你想指定像 SkipExtraFilesOnServer 这样的属性和 MsDeployServiceUrl从命令行,只需将它们从您的发布配置文件中删除。

关于msbuild - 在解决方案中使用多个网站项目进行持续部署,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14814644/

相关文章:

visual-studio-2008 - 为什么 VS2008 构建与同一解决方案的 msbuild 不同?

MSBuild WriteLinesToFile 末尾没有换行

visual-studio-2015 - 代码分析增加构建时间

.net - 默认为 Visual Studio 2012 中的每个项目激活代码分析

c++ - 在 VS 2012 中使用 mysql 连接器 C++

perl - 哪个Perl持续集成框架?

continuous-integration - VS2012发布配置文件-加密密码

c# - 跳过 CoreCompile。我希望它发生

javascript - 如何在 SharePoint 中通过 JavaScript 查找字符串内的子字符串?

github - 有没有办法将 Jenkins 与 Github Pull 请求结合使用?