首页 > 解决方案 > 如何外部化配置 - 天蓝色管道?

问题描述

我们都知道如何在 Asp.Net Core 中为每个环境创建单独的配置文件。但是,我正在为以下用例寻找解决方案:

Asp.Net 核心应用程序应从 web 应用程序目录中名为 appsettings.json 的文件中读取其配置条目。我们不会有环境特定的 json 文件,而是一个文件,该文件将在发布管道期间和部署之前动态填充环境特定的配置。

该文件将被签入到存储库,因此它不应定义任何值,而应仅定义键

当发布管道运行时,appsettings.json 文件应在部署前填充值,从而成为有效的配置源。

有没有办法我可以在管道中存储特定于环境的配置,以便它用作发布管道的输入源,并有助于在管道中稍后和部署之前填充 appsettings.json 文件?

提前致谢!!

标签: asp.net-coreazure-devopsazure-pipelines

解决方案


是的,这是可能的。您可以将管道配置为阶段,然后仅针对此特定阶段使用不同的变量组:

在此处输入图像描述

你可以更进一步,将你的秘密保存在 Azure Key Vault 中,只需将特定的 Key Vault 与变量组链接即可。

如果您使用应用服务,则可以使用json 替换来填充您的配置。请也检查这个主题。(如果不是,您可能会被迫使用Replace Token扩展)

但正如 Daniel 提到的那样,检查应用程序配置以获得在云中的所有好处。


推荐阅读