如何外部化配置-天蓝色管道?

时间:2020-09-03 18:56:50

标签: asp.net-core azure-devops azure-pipelines

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

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

此文件将检入存储库,因此它不应定义任何值,而只能定义键

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

我是否可以通过某种方式将特定于环境的配置存储在管道中,使其充当发布管道的输入源,并有助于稍后在管道中以及部署之前填充appsettings.json文件?

提前谢谢!

1 个答案:

答案 0 :(得分:0)

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

enter image description here

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

要填写配置,可以使用json substitution(如果使用App Services)。请同时检查此topic。 (否则,您可能会被迫使用Replace Token扩展名)

但是正如丹尼尔(Daniel)提到的,请勾选App Configuration以获得在云中的所有好处。