【问题标题】:Azure DevOps use Azure Key Vault for Deploy JSON variable substitutionAzure DevOps 使用 Azure Key Vault 部署 JSON 变量替换
【发布时间】:2020-05-16 12:19:54
【问题描述】:

对于部署,我使用 Azure DevOps 中的 Azure App Service deploy 任务。为了保存我的变量,我使用变量组 Azure DevOPs 并使用 JSON 变量替换,我覆盖了 appsettings.json 中的值。例如 appsettings.json 中的部分

    "ConnectionStrings": {
        "DefaultConnection": "Azure DB Connection String"
        }
   }

在变量组中我使用ConnectionStrings.DefaultConnection "Azure DB Connection String"

现在我想将 Key Vault 用于这些目的。但是当我在 Key Vault 中创建变量并将其连接到 Azure DevOps 时,该值没有写入 appsettings.json。

能否请您告诉我如何在 Azure DevOps 部署中使用 Azure Key Vault?我有一个拉链神器。谢谢。

【问题讨论】:

    标签: azure azure-devops azure-web-app-service azure-keyvault


    【解决方案1】:

    没有理由完全为在 Azure 应用服务中运行的应用程序进行配置转换。

    您在密钥保管库中有值。你有一个 Azure 应用服务。应用服务可以直接从密钥保管库中检索值(方法因语言而异,但有一个适用于 .NET 应用程序的 NuGet 包),或者您可以使用应用服务应用设置部分并将keyvault references 放入。

    即使您没有使用密钥保管库,也无需进行配置转换。 Web 应用程序设置存储为环境变量,并且可以在运行时通过您选择的语言用于读取环境变量的任何机制进行检索。

    【讨论】:

    • 感谢您的回复。但是我的客户希望在部署阶段改变变量。将其视为与 Azure DevOps 相关的 Key Vault。
    • 您可以对您的 appsettings 进行不同的转换,即 appsettings.json、appsettings.Development.json、appsettings.Staging.json。然后,您需要做的就是设置环境变量 ASPNETCORE_ENVIRONMENT = "Development" 如果您希望它使用 appsettings.Development.json 文件,或者如果您希望它只使用 appsettings.json,请不要设置环境变量 ASPNETCORE_ENVIRONMENT。
    猜你喜欢
    • 1970-01-01
    • 2020-01-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-12-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多