我想使用 Octopus Deploy 应用 web.config 转换,但仅限于生产环境。
我不想为我们所有的其他环境创建单独的配置。
目前我正在使用以下自定义表达式,但它不应用转换
我想使用 Octopus Deploy 应用 web.config 转换,但仅限于生产环境。
我不想为我们所有的其他环境创建单独的配置。
目前我正在使用以下自定义表达式,但它不应用转换
您是否专门尝试更改项目的 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 中更改的值。这是文件中出现的确切名称,因此您无需直接在文件中更改任何内容即可匹配。
该值当然是要出现的值。然后“变量范围”列将允许您指定环境、服务器、角色甚至流程中的步骤(我的没有出现,因为这是一个空白项目)。
编辑:从 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 转换文件而不是特定的环境文件,这也可能是正确的,但我不确定。