【问题标题】:How Can I Use Release Management To Remove \ Add Change Web.Config Tags?如何使用发布管理删除 \ 添加更改 Web.Config 标记?
【发布时间】:2015-10-26 20:00:30
【问题描述】:

众所周知,在 VS2010 及以上版本中,有一个使用Web.config 转换来删除web.config 文件中的添加更新标签和属性。

发布管理能够在web.token.config 内切换值(约定是一个像这样的变量:__ConnectionString__

但是我该怎么做才能删除整个部分?或者为不同的环境添加一个?例如,qa 不应该有调试选项,所以在转换中我们可以隐藏复制代码

我真的想在转换和发布管理之间建立联系,但不能,它们的行为不一样,单个构建定义必须知道要使用哪个 web.config 文件(我使用 web.QA.configweb.prod.config) ,而发布模板对于他的qaprod 路径只有一个构建定义。

因此,具有相同构建定义的具有 2 个阶段 (qa->prod) 的一个发布模板不能为 qa 转换一次,对于 prod 转换一次(因为再次,它是在构建定义中定义的,从哪里到像这样变换) 隐藏复制代码

:/p:UseWPP_CopyWebApplication=true /p:PipelineDependsOnBuild=false /p:Configuration=QA /p:TransformConfigFiles=true

我试过this link。但这无助于构建定义根据发布路径转换正确的web.config。他只是构建web.release.config,这没有帮助。

我也尝试了许多其他网站,它们都没有回答简单的问题:发布管理如何转换 web 配置文件,而不仅仅是简单的值交换,这在我的场景中是不够的,它如何添加标签,删除他们改变了更深层次的配置。

【问题讨论】:

    标签: asp.net msbuild release-management ms-release-management


    【解决方案1】:

    发布管理是一种实现持续交付的工具,即一个给定的构建通过交付管道的不同阶段部署不变(保存配置值),直到它失败一个阶段(此时它被认为是无效的并且不再继续)或到达管道的末端。

    如果您需要在各个阶段之间更改配置值以外的任何内容,这可能是您的环境在各个阶段之间存在根本不同的征兆,这违反了持续交付的核心原则之一。或者您可能正在尝试将不同的构建部署到不同的阶段,这绝对是不是持续交付。

    我的博文系列here 解释了如何使用发布管理进行持续交付。 This 帖子解释了管理 web.config 的几种方法之一 - 请注意,没有 web.$some_environment$.config 的概念。

    话虽如此,我们大多数人都必须忍受功能障碍,所以如果您确实需要更改 web.configs,那么使用诸如 xdt:Transform="Remove" 之类的功能应该可以工作。

    作为所有这一切的脚注,您应该知道,随着 TFS 2015 Update 1 推出了一个全新的基于 Web 的 Release Management 版本,如果可以的话,等待这个版本可能是值得的,尽管可能在今年晚些时候或明年年初发货之前。观看this 视频,了解一下。

    【讨论】:

    • 感谢您的回复,环境之间的变化是因为在 qa\prod 中您不希望只有在 QA 环境中才会发生的调试模式\黄屏\跟踪。
    【解决方案2】:

    感谢您的回复,环境之间发生变化的原因是因为在 qa\prod 中您不希望仅在 QA 环境中发生的调试模式\黄屏\跟踪。

    我想知道为什么要转换所有这些(不同环境的)Web 配置文件如此困难。 然后我查看了构建服务器的输出,发现了这一切! 在构建机器中创建的构建文件夹中,您会找到每个版本的所有转换文件 \build server ip\c$\Builds\some number\solution Name\Build Definition name\Sources\TFS ->web.config.QA ->web.config.Prod 完全转变。 然后,您可以将它复制到您的目的地,然后重命名它(可以使用 powershell 完成)或使用发布管理来完成。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-10-21
      • 2018-03-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-05-03
      • 2014-07-15
      • 1970-01-01
      相关资源
      最近更新 更多