azure - 在部署时设置应用程序洞察检测密钥
问题描述
我们公司部署了多个 Web 服务,每个服务都具有三个环境 - 开发、暂存和生产。每个环境都有单独的资源组,其中包含服务的应用程序见解。获取每个环境的检测密钥并在 appsettings 文件中设置是一项繁琐的任务。相反,我们希望以某种方式自动化这个过程。
我们正在思考这个方向——我们将提供应用程序洞察名称作为占位符,在部署时从相应的资源组获取它后,它将被替换为实际的检测键。
我已经阅读了一些文章,但我无法实现相同的目标。
请建议我一些相同的方法。
解决方案
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 (我自己没试过)
推荐阅读
- python - 将多个文件中的数据检索到多个数据帧中
- javascript - 在 ng-repeat 中的第二次输入更新时未触发过滤器
- html - 响应式和自动 CSS
- python - 无法打开/包含 YARA 文件
- assembly - AVX-512 中的压缩和扩展指令有什么区别?
- vba - 如何在运行时向用户窗体添加无边框文本框
- c++ - Qt 和 C++ 如何共享类中的项目
- visual-studio - 将项目/解决方案从 VS2015 复制到 VS2017
- jenkins - 使用 Jenkins 构建 MS 的 SonarQube 扫描仪在最后一步失败
- python - pyodbc 控制台错误消息