维护Azure资源管理器模板的正确方法

时间:2019-02-15 15:19:32

标签: azure azure-resource-manager

我有手臂模板,可以使用资源及其设置重新创建资源组。效果很好。

用例:

一些开发人员转到azure门户并更新某些资源的某些设置。有没有一种方法可以获取可应用于我的模板的确切更改以使这些更改生效? (更新源代码管理中的模板)

如果我转到资源组中的自动化脚本,则可以看到所有资源,但是源代码管理中的模板是不同的(参数,条件,变量,链接在一起的多个模板...)。我乍看之下看不到所做的更改,也无法使用任何差异。

也许我完全错过了一些东西,但是您如何解决这个问题?

谢谢。

2 个答案:

答案 0 :(得分:0)

通过比较门户中的模板来查看资源的任何更改并不容易。最佳实践是始终使用ARM模板(和CI / CD管道)来部署ARM模板以供应资源。将这些ARM模板置于源代码控制下以对其进行跟踪。

此外,我认为您有两个主要选项可跟踪这些更改:

1)您可以使用Azure Activity Log来跟踪更改。 Azure活动日志是订阅日志,可提供对Azure中已发生的订阅级别事件的深入了解。这包括一系列数据,从Azure资源管理器操作数据到服务运行状况事件的更新。

2)针对Management Plane API编写一些智能代码。一个很好的起点是https://resources.azure.com/subscriptions。您可以编写一些摘录,以每天提取所有资源并将其提交到git repo。这只会更新模板的更改。然后,您可以根据需要或在需要时分析增量。

答案 1 :(得分:0)

从概念上讲,除了他自己的开发/单元测试工作外,开发人员永远不要“去天青门户并更新某些资源的某些设置”。然后,他应该生成一个更新的ARM模板,以便在TST等环境中进行部署,并使用新模板记录其经过单元测试的更改。如果他的更新与您在TST中的资源冲突,他可能会来找您解释他的更改并讨论解决方法。