Azure Functions:如何控制 development/production/staging 应用设置?

Azure Functions: How do I control development/production/staging app settings?

我刚刚开始尝试使用 Azure 函数,我正在尝试了解如何根据环境控制应用程序设置。

在 dotnet 核心中,您可以有 appsettings.json、appsettings.development.json 等。当您在不同环境之间移动时,配置会发生变化。

但是,通过查看 Azure 功能文档,我发现您可以在 azure 门户中设置配置,但我看不到有关在解决方案中设置配置的任何信息?

那么管理构建环境的最佳方式是什么?

提前致谢:-)

在我看来,最好的方法是使用适当的构建和发布系统,例如 VSTS

我在我的一个解决方案中所做的是创建我的 Function App 的 ARM 模板,并使用带有 VSTS RM 的发布管道部署它。

这样您就可以向 template.json 添加一个值,就像下面的那个。

"appSettings": [
    // other entries
    {
        "name": "MyValue",
        "value": "[parameters('myValue')]"
    }

您将需要另一个名为 parameters.json 的文件来保存这些值。这个文件看起来像这样(目前)。

{
    "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentParameters.json#",
    "contentVersion": "1.0.0.0",
    "parameters": {
        "name": {},
        "storageName": {},
        "location": {},
        "subscriptionId": {}
    }
}

返回 VSTS,您可以 change/override 门户中这些参数的值。

通过使用这样的工作流程,您将获得专业的 CI/CD 实施,其中任何人都不必为实际的秘密而烦恼。他们只有系统管理员知道。