我想将Web.config转换与Octopus Deploy一起应用,但仅在生产环境上应用。

我不想为我们所有其他环境创建单独的配置。

目前,我正在使用以下自定义表达式,但未应用转换

最佳答案

您是否专门尝试在项目的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中更改的值。这是文件中显示的确切名称,因此您无需直接更改文件中的任何内容即可进行匹配。

该值当然是要显示的值。然后,Variable Scope列将允许您指定环境,服务器,角色,甚至是流程中的步骤(因为这是一个空白项目,所以不会出现)。

编辑:
阅读有关配置文件的documentation from Octopus Deploy(更进一步的是Web转换)。
如果您尝试删除 Debug模式标志,则您对转换的自定义表达式似乎不正确。从您输入的表达式来看,它将呈现为“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网站上的文档中。

关于octopus-deploy - 使用Octopus Deploy进行Web.Config转换,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23362851/

10-11 18:09