octopus-deploy - 使用 Octopus Deploy 进行 Web.Config 转换

标签 octopus-deploy web.config-transform

我想使用 Octopus Deploy 应用 web.config 转换,但仅限于生产环境。

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

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

enter image description here

最佳答案

您是否特意尝试更改项目的 web.config 文件中的键/值对? XML 转换是完全不同的功能。在此处阅读文档:http://docs.octopusdeploy.com/display/OD/Configuration+files .该文档还将引用有关转换的 MS 文档:http://msdn.microsoft.com/en-us/library/dd465326.aspx

话虽如此,看起来您的意思是要更改 Octopus 中配置变量的值。 Octopus 绝对可以做到;尤其是在针对特定环境时。转到项目中的“变量”选项卡。在变量选项卡中,“名称”列指的是您要在 web.config 或 app.config 中更改的值。这是文件中显示的确切名称,因此您无需直接更改文件中的任何内容即可匹配。

值当然是出现的值。然后 Variable Scope 列将允许您指定环境、服务器、角色甚至流程中的步骤(我的没有出现,因为这是一个空白项目)。

enter image description here

编辑:
阅读本文 documentation from Octopus Deploy在配置文件上(再往下是网络转换)。
如果您尝试删除 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/

相关文章:

c# - vs 2012 Web.Config 转换

c# - 使用 XDT 转换的 Web.config 进行部分替换

visual-studio - web.debug.config 转换不起作用

nuget - 内置 Octopus 部署存储库

.net - PowerShell URI 模板解析

c# - 有没有办法在给定源文件和目标文件的情况下创建 web.config 转换?

octopus-deploy - 使用 Octopus 部署经典 ASP 站点

asp.net - 如何清除 Microsoft Azure 服务器上的 iis 缓存?

ssl - 使用 Octopus 在 iis 上为每个站点部署单独的证书