【问题标题】:Substitute Variables in web.config outside of appsettings, or connectionstring在 appsettings 或连接字符串之外替换 web.config 中的变量
【发布时间】:2018-01-13 07:09:04
【问题描述】:

nupkg 文件中的 web.config 输出以下内容:

<host>
          <baseAddresses>
            <add baseAddress="#{Url.AccountService}"/>
          </baseAddresses>
        </host>

根据 Octopus 在Substitute variables in files 上的文档,只要我在项目中定义了变量,上面的语法应该没问题。哪个,我愿意。

我目前也仅将这个包部署到DEV 环境。

另外,在Deploy Website 步骤中,在Substitute Variables in Files > 我已将web.config 添加到要执行替换的文件列表中。

但是,当部署完成时,章鱼不会将此变量替换为预期值。我做错了什么?

【问题讨论】:

  • 您在 web.config 中对变量的使用看起来是正确的。您在 Octopus Deploy(项目变量 UI)中声明的变量看起来是正确的。在文件中的替换变量部分列出“web.config”也足够了(尽管在我们的系统中我们使用*.config)。立即脱颖而出的一件事是Uri.AccountService 中点的使用。您是否尝试删除该点并看到替换发生?我们不在变量名中使用“点”,所以我不确定是否允许这种语法。如果这不起作用,请尝试使用 *.config 并查看结果。
  • 不,很遗憾,这不起作用。
  • 您的部署范围是否可能不是DEVPROD-BLUE
  • 它是DEV。我用截图更新了问题供您参考。

标签: octopus-deploy


【解决方案1】:

根据我们上面的对话以及您尝试过的事情。 这是我为您解答的唯一想法:

文档Substitute Variables in Files 指出:

您需要说明文件的完整路径,相对于安装目录。因此,如果您需要替换包根目录下 configfolder 中名为 app.config 的文件中的变量,则需要将 config\app.config 放在 Target files 字段中。

Octopus Deploy 可能找不到您所说的需要变量替换的文件。您的示例和代码的其他所有内容看起来都是正确的。

【讨论】:

  • 你完全正确。非常感谢你的帮助。我想通过添加 *.config,我告诉 octopus 查看所有配置文件。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-08-22
  • 1970-01-01
  • 1970-01-01
  • 2018-05-12
相关资源
最近更新 更多