Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/azure/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Json Azure功能:如何控制开发/生产/登台应用程序设置?_Json_Azure_Visual Studio 2017_Azure Functions_Devops - Fatal编程技术网

Json Azure功能:如何控制开发/生产/登台应用程序设置?

Json Azure功能:如何控制开发/生产/登台应用程序设置?,json,azure,visual-studio-2017,azure-functions,devops,Json,Azure,Visual Studio 2017,Azure Functions,Devops,我刚刚开始尝试Azure功能,我试图了解如何根据环境控制应用程序设置 在dotnet core中,可以有appsettings.json、appsettings.development.json等,当您在不同的环境之间移动时,配置会发生变化 然而,通过查看Azure功能文档,我发现您可以在Azure门户中设置配置,但我看不到有关在解决方案中设置配置的任何内容 那么,管理构建环境的最佳方法是什么 提前感谢:-)在我看来,最好的方法是使用适当的构建和发布系统,如 我在我的一个解决方案中所做的是为我的

我刚刚开始尝试Azure功能,我试图了解如何根据环境控制应用程序设置

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

然而,通过查看Azure功能文档,我发现您可以在Azure门户中设置配置,但我看不到有关在解决方案中设置配置的任何内容

那么,管理构建环境的最佳方法是什么


提前感谢:-)

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

我在我的一个解决方案中所做的是为我的功能应用程序创建一个ARM模板,并使用VSTS RM的发布管道进行部署

这样,您只需向
template.json
添加一个值,如下所示

"appSettings": [
    // other entries
    {
        "name": "MyValue",
        "value": "[parameters('myValue')]"
    }
您将需要另一个名为
parameters.json
的文件来保存这些值。这个文件看起来是这样的(目前)

回到VSTS,您可以在门户中更改/覆盖这些参数的值。


通过使用这样的工作流,您将获得一个专业的CI/CD实现,在这个实现中,没有人需要为实际的秘密而烦恼。它们只为系统管理员所知。

谢谢!我在搜索答案的过程中做了一些进一步的阅读,似乎尽管使用dotnet核心风格的appsettings在微软的工作列表上,但使用ARM是他们解决这个问题的答案。看起来也是一个很好的DevOps方法!在我的例子中,我有Azure功能,它有大约50多个应用程序设置,并且涉及到一些插槽(生产/暂存插槽)。在template.json中定义这50多个设置两次是很乏味的。我希望我能从parameters.json中传入一个对象数组,并在template.json中简单地引用它。
{
    "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentParameters.json#",
    "contentVersion": "1.0.0.0",
    "parameters": {
        "name": {},
        "storageName": {},
        "location": {},
        "subscriptionId": {}
    }
}