【问题标题】:web.config changes via TFS 2015 Release Management通过 TFS 2015 发布管理更改 web.config
【发布时间】:2016-10-21 23:01:44
【问题描述】:

过去,我在手动部署代码以设置特定于环境的设置值和属性时使用 web.config 转换。我正在从特定于环境的手动构建过渡到通过发布管理部署到多个环境的单个 TFS 2015 构建。在 web.config 中配置的特定于环境的应用程序设置值已标记化。 This method 本质上是在构建过程中将标记插入到设置值中。部署时,令牌将替换为匹配的发布定义配置值。

然而,这种方法是不够的设置非设置的属性。这些转换的示例包括:

<httpCookies requireSSL="true" xdt:Transform="Insert" />
<compilation xdt:Transform="RemoveAttributes(debug)" />
<httpRuntime xdt:Transform="RemoveAttributes(executionTimeout,maxRequestLength,useFullyQualifiedRedirectUrl,minFreeThreads,minLocalRequestFreeThreads,appRequestQueueLimit,enableVersionHeader)"/>
<httpRuntime enableVersionHeader="false" maxRequestLength="12288" xdt:Transform="SetAttributes"/>
<customErrors mode="On" xdt:Transform="SetAttributes"/>

在发布期间更新这些属性的最佳方式是什么?

【问题讨论】:

    标签: powershell tfs build-process tfs-2015 release-management


    【解决方案1】:

    Web Deploy's parameters.xml method 和转换都可以与发布管理一起使用。转换将由 Build 触发,替换由发布创建的令牌的过程将由 Release Management 触发。

    要在构建期间触发转换,您可以通过以下两种方式之一执行此操作:

    1. 添加以下 MSBuild 参数以强制在构建期间进行转换

      /p:UseWPP_CopyWebApplication=true /p:PipelineDependsOnBuild=false

    2. 使用 MSDeploy Package 选项创建发布配置文件,然后使用以下 MSBuild 参数在 Build 中触发打包:

      /p:DeployOnBuild=true /p:PublishProfile=[nameOfProfile]

    上述任何一种方法都会导致正常的 Web.config XDT 运行。如果您需要转换其他 XML 文件,您需要先安装SlowCheetah

    令牌替换和参数

    现在您已经有了一个运行 XDT 的构建工件,您可以使用来自 Release Management 的 token replacementWinRM tasks。这些将从 Build 中获取 Web Deploy 包,并在部署之前执行 SetParameters 命令。诀窍是先获取 SetParameters.xml 文件并对其运行令牌替换,然后先换出 Release 环境变量。

    【讨论】:

      【解决方案2】:

      用户Sumo给出了正确答案,但我想记录一些与what相关的cmets,而不是how

      恕我直言,有不同类别的设置需要考虑,让我们举例说明。数据库连接字符串在每个环境中都会发生变化,同时需要为所有测试和生产环境打开 SSL。 从这个角度来看,您应该尽早应用设置,传统上是在构建时并称为调试/发布构建;和最后一分钟的设置,取决于环境,直到运行时设置,如功能切换。

      因此,在我看来,您可以使用单个工具或多个工具,但重要的是要对设置进行相应的分类。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2016-01-23
        • 1970-01-01
        • 2016-04-10
        • 2017-06-27
        • 1970-01-01
        • 2016-12-28
        • 2016-12-09
        • 1970-01-01
        相关资源
        最近更新 更多