首页 > 解决方案 > 在部署时设置应用程序洞察检测密钥

问题描述

我们公司部署了多个 Web 服务,每个服务都具有三个环境 - 开发、暂存和生产。每个环境都有单独的资源组,其中包含服务的应用程序见解。获取每个环境的检测密钥并在 appsettings 文件中设置是一项繁琐的任务。相反,我们希望以某种方式自动化这个过程。

我们正在思考这个方向——我们将提供应用程序洞察名称作为占位符,在部署时从相应的资源组获取它后,它将被替换为实际的检测键。

我已经阅读了一些文章,但我无法实现相同的目标。

请建议我一些相同的方法。

标签: azureazure-application-insights

解决方案


TLDR:

  • 将输出添加到 ARM 模板
  • 在发布中选择它作为变量
  • 用它来改变你的配置

详细信息:使用 ARM 模板部署 Application Insights 时,可以指定模板以将密钥作为输出变量返回 ( https://docs.microsoft.com/en-us/azure/azure-resource-manager/资源管理器模板输出)。ARM 模板部署任务可以选择这些输出并将其作为带有 JSON 对象的变量提供。更简单的方法是 ARM 输出扩展 ( https://marketplace.visualstudio.com/items?itemName=keesschollaart.arm-outputs ),您可以在其中直接将每个单独的输出作为变量提供。

之后,“部署 Service Fabric 应用程序”任务允许您在名称匹配时覆盖应用程序参数(不是非常自记录),或者您可以使用前面提到的标记化方法。有许多扩展可以做到这一点,包括:https ://marketplace.visualstudio.com/items?itemName=qetza.replacetokens (我自己没试过)


推荐阅读