【问题标题】:VSTS Config Transform effecting all releases影响所有版本的 VSTS 配置转换
【发布时间】:2017-06-30 16:17:10
【问题描述】:

我在 VSTS 上设置发布版本时遇到问题。 我有一个 Web 应用程序,它在每次构建时都部署到开发环境中。 之后,我们可以选择将该版本部署到生产或测试环境。

在进入 Prod 环境时,我想使用 web.release.config 来替换连接字符串、应用程序设置等的变量。 这工作正常,但它适用于两个版本,DEV 和 PROD。

I.E.如果我在 web.release.config 中提供了正确的 prod 连接字符串,它将在第一个构建版本中部署到开发站点。

我怀疑是 Build 执行此操作而不是发布。

如何防止 web.release.config 应用于默认的 DEV 构建?

图片显示发布配置,Dev 没有检查 xml 转换。

这是仅在 Web.Release.Config 文件中的转换。

非常感谢您在获取版本以仅交换 PROD 的配置值方面提供任何帮助。

是BUILD而不是发布???

使用 15.3 版本的 Visual Studio 2017 预览版签入 VSTS 以进行构建和发布。

最好的问候, 棒

【问题讨论】:

    标签: azure-pipelines azure-pipelines-release-pipeline


    【解决方案1】:

    我假设您使用 Release 配置构建和部署项目/解决方案,因此 web.config 文件已经转换。

    您可以参考以下步骤来处理此问题:

    1. 根据发布配置创建新配置(右键解决方案>配置管理器>点击配置下拉列表>新建>在复制设置中选择发布>在名称中输入开发
    2. 添加新的配置文件:web.Dev.config 并设置开发环境的连接字符串
    3. 签入待处理的更改
    4. 编辑构建定义以使用开发配置构建项目/解决方案
    5. 将 web.release.config 文件添加到 web.config 的同一级别(例如复制文件)并发布到工件

    另一方面,您可以使用 XML 变量替换选项,这样您就不需要将 web.xxx.config 文件添加到 web.config 的同一级别:

    1. 编辑发布定义
    2. 选择环境> 点击…>配置变量
    3. 添加变量(名称:[ConnectionString 名称,如 DefaultConnection];值:[连接字符串值,如 Data source=xxx….]
    4. 检查 Azure 应用服务部署任务的 XML 变量替换选项
    5. 之后,相关的连接字符串值将在转换期间使用该环境变量进行更新。

    【讨论】:

      猜你喜欢
      • 2022-10-07
      • 1970-01-01
      • 1970-01-01
      • 2011-09-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多