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.xmlSetParameters.xml。它基本上是一种参数化 Web 部署包的方法。见tutorial。

最后here 是关于这个话题的一个很长的讨论。

【讨论】:

谢谢!当我有时间时,我将不得不对此进行更多研究。后一种选择似乎更好,但我需要看看它是否与 Bamboo 搭配得很好。 我很好奇 - 我应该在某个时候替换 SetParameters.xml 文件吗?我已经做了一些测试,创建文件并没有被使用。确实创建了Parameters.xml 文件,并使用我的Parameters.xml 文件中的键/值创建了SetParameters.xml,但我不知道如何替换它。我会使用发布配置文件吗? Parameters.xml 位于您的项目文件夹中。它说明了您要参数化的内容。您只创建一次。您可以为每个环境创建一个SetParameters.xml - 在部署之前替换文件。

以上是关于MSBuild + Bamboo 部署:构建一次并进行多次部署?的主要内容,如果未能解决你的问题,请参考以下文章

Bamboo 随机运行不同版本的 msbuild.exe 并构建失败

在 Bamboo 上使用 MSBuild 构建解决方案时遇到问题

MSBuild 脚本中的 Bamboo 变量值为空

从 Bamboo 构建开始 Bamboo 部署

仅使用 MSBuild 进行 TFS2012 夜间部署

由于包名称不匹配,MSBuild 不构建解决方案文件