VSTS配置转换影响所有版本

时间:2017-06-30 05:50:12

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

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

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

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

我怀疑Build正在做这个而不是发布。

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

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

enter image description here

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

enter image description here

非常感谢任何协助获取版本以交换PROD的配置值。

是BUILD而不是释放???

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

最诚挚的问候, 杆

1 个答案:

答案 0 :(得分:1)

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

您可以参考以下步骤来解决此问题:

  1. 根据发布配置创建新配置(右键单击解决方案> Configuration Manager>单击配置下拉列表>新建>从复制设置中选择发布从>在名称中键入Dev
  2. 添加新配置文件:web.Dev.config并为dev环境设置connectionstring字符串
  3. 签入待定更改
  4. 使用Dev配置编辑构建定义以构建项目/解决方案
  5. 将web.release.config文件添加到web.config的相同级别(例如,复制文件)并发布到工件
  6. 另一方面,您可以使用XML变量替换选项,这样就不需要将web.xxx.config文件添加到web.config的同一级别:

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