【发布时间】:2014-06-15 06:49:08
【问题描述】:
我想通过 Octopus Deploy 应用 web.config 转换,但仅限于生产环境。
我不想为我们所有的其他环境创建单独的配置。
目前我正在使用以下自定义表达式,但它不应用转换
【问题讨论】:
标签: octopus-deploy web.config-transform
我想通过 Octopus Deploy 应用 web.config 转换,但仅限于生产环境。
我不想为我们所有的其他环境创建单独的配置。
目前我正在使用以下自定义表达式,但它不应用转换
【问题讨论】:
标签: octopus-deploy web.config-transform
您是否专门尝试更改项目的 web.config 文件中的键/值对? XML 转换是完全不同的功能。在此处阅读文档:http://docs.octopusdeploy.com/display/OD/Configuration+files。该文档还将参考有关转换的 MS 文档:http://msdn.microsoft.com/en-us/library/dd465326.aspx
话虽如此,您的意思是说您想更改 Octopus 中配置变量的值。八达通绝对可以做到;尤其是针对特定环境时。转到项目中的“变量”选项卡。在变量选项卡中,“名称”列是指您要在 web.config 或 app.config 中更改的值。这是文件中显示的确切名称,因此您无需直接更改文件中的任何内容即可匹配。
值当然是要出现的值。然后“变量范围”列将允许您指定环境、服务器、角色甚至流程中的步骤(我的没有出现,因为这是一个空白项目)。
编辑: 在配置文件中阅读此documentation from Octopus Deploy(进一步向下是 Web 转换)。 如果您尝试删除调试模式标志,您的转换自定义表达式似乎不正确。从您输入的表达式来看,它将呈现为“TrueProduction.Production”,它实际上并没有描述任何类型的转换。你应该试试这个:
<?xml version="1.0"?>
<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
<system.web>
<compilation xdt:Transform="RemoveAttributes(debug)" />
</system.web>
</configuration>
如果您只想将其应用于生产,请确保您的生产 Web 配置文件为:Web.Production.config。确保 Web..Config 与 Octopus 中的环境名称匹配。同样,它在 Octopus Deploy 站点上的文档中。
【讨论】:
您需要做的是创建一个 Web.Production.config 转换文件,其中“Production”是您的生产环境的名称。一旦您在 Octopus Deploy 任务中启用 XML 转换,Octopus 将仅在部署到生产环境时应用生产转换。如果您创建 Web.Release.config 转换文件而不是特定的环境文件,这也可能是正确的,但我不确定。
【讨论】: