代码之家  ›  专栏  ›  技术社区  ›  LeWoody

如何引用存储在VSTS或Azure DevOps Git Repo中的链接ARM模板?

  •  1
  • LeWoody  · 技术社区  · 7 年前

    ARM模板允许您使用“templateLink”属性引用另一个“链接”的ARM模板。我想在Azure DevOps(VSTS)中使用原始git uri来实现这一点。我可以使用github实现这一点,如下所示:

    "resources": [ 
      { 
          "apiVersion": "2017-05-10", 
          "name": "linkedTemplate", 
          "type": "Microsoft.Resources/deployments", 
          "properties": { 
            "mode": "incremental", 
            "templateLink": {
              "uri": "https://raw.githubusercontent.com/lw/BaseARMTemplates/master/ARM.json"",
              "contentVersion": "1.0.0.0"
            }, 
          } 
      }
    ] 
    
    3 回复  |  直到 7 年前
        1
  •  2
  •   4c74356b41    7 年前

    https://docs.microsoft.com/en-us/azure/azure-resource-manager/resource-manager-powershell-sas-token ).

    如果可以在url中传递auth(仅获取请求),则可以使用任何安全存储。或者您可以创建一个azure函数,将您的请求代理到私有存储并检索模板(显然是一种黑客行为)。

        2
  •  1
  •   mkstr    7 年前

    您可以创建一个管道,首先将arm模板推送到专用存储帐户,然后创建一个步骤来创建SAS令牌,然后将SAS令牌传递给arm模板。这是微软推荐的最佳实践,但感觉像是一个黑客,我不太喜欢它,所以我最终创建了单独的发布管道任务和模板,而不是使用嵌套模板。如果需要将值从模板传递到另一个模板,可以使用ARM模板输出来实现这一点。

        3
  •  1
  •   Daniel Mann    7 年前

    如果你的项目是私人的,你不能。您可以将其上载到公共存储帐户(或带有SAS令牌的专用存储帐户)并从那里引用它。

    公共项目似乎也没有API。