MSBuild + Bamboo 部署:构建一次并进行多次部署?
Posted
技术标签:
【中文标题】MSBuild + Bamboo 部署:构建一次并进行多次部署?【英文标题】:MSBuild + Bamboo Deployments: Build once and do multiple deployments? 【发布时间】:2017-09-08 14:27:50 【问题描述】:我读过的关于这个主题的所有内容似乎都已经过时了,我找不到这个看似常见的任务的答案。
我已经能够让 Bamboo 使用发布配置文件进行 MSBuild:
/p:DeployOnBuild=true
/p:PublishProfile=MY_PROFILE
/p:Configuration=MY_CONFIG
/p:VisualStudioVersion=12.0
/p:AspnetMergePath="C:\Program Files (x86)\Microsoft SDKs\Windows\v8.1A\bin\NETFX 4.5.1 Tools"
但是,这只会将Web.config
转换为一种环境。我想做一个构建,然后能够在它们通过每个阶段时部署(使用竹子的部署 - 这可能会运行 msdeploy 任务?)到多个环境; QA -> Staging -> Production
.
有没有办法进行简单的构建,然后在部署阶段进行转换?
我目前正在使用 Bamboo、MSBuild 14..NET 4.5.2 和 VisualStudio 2017 (v12.0)。
【问题讨论】:
我刚刚回答了如何创建多个转换(在构建时),然后在部署计划期间选择您想要的转换,这有帮助吗? ***.com/a/52922895/1089267 哦,其实我刚才使用Parameters.xml / SetParameters.xml解决了这个问题。不过感谢您的评论。 :D 【参考方案1】:PackageWeb
完全符合您的需求。它将 XML 转换文件包含在包中,然后在部署之前转换 web.configs。
PackageWeb website 和 tutorial。
我不确定这个项目是否已经维护了。
另一种选择是使用Parameters.xml
和SetParameters.xml
。它基本上是一种参数化 Web 部署包的方法。见tutorial。
最后here 是关于这个话题的一个很长的讨论。
【讨论】:
谢谢!当我有时间时,我将不得不对此进行更多研究。后一种选择似乎更好,但我需要看看它是否与 Bamboo 搭配得很好。 我很好奇 - 我应该在某个时候替换SetParameters.xml
文件吗?我已经做了一些测试,创建文件并没有被使用。确实创建了Parameters.xml
文件,并使用我的Parameters.xml
文件中的键/值创建了SetParameters.xml
,但我不知道如何替换它。我会使用发布配置文件吗?
Parameters.xml
位于您的项目文件夹中。它说明了您要参数化的内容。您只创建一次。您可以为每个环境创建一个SetParameters.xml
- 在部署之前替换文件。以上是关于MSBuild + Bamboo 部署:构建一次并进行多次部署?的主要内容,如果未能解决你的问题,请参考以下文章
Bamboo 随机运行不同版本的 msbuild.exe 并构建失败