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