【问题标题】:Azure Pipeline Release Artefact linked ARM templatesAzure Pipeline Release Artefact 链接的 ARM 模板
【发布时间】:2021-07-15 17:54:05
【问题描述】:

我们的 ARM 模板位于代码旁边的 build 文件夹中。在我们的管道中,我们将build 文件夹作为人工制品发布。我们有主模板。

我们想从发布管道运行我们的 ARM 模板,但是我们的主模板找不到我们的链接模板,我们收到以下错误:

##[error]InvalidTemplateSpec:无法解析相对路径“arm-kv/1.0.0.0/azuredeploy.json”。请确保父部署引用外部 URI 或模板规范 ID。使用本地文件创建模板部署时,不能使用 relativePath 属性。

创建的artifact的文件夹结构如下;

Builds/
+-- ARM/
     +-- parameters/
     |   +-- azuredeploy-rg-parameters.json  ## parameters file
     |
     +-- arm-kv
     |   +-- 1.0.0.0/
     |       +-- azuredeploy.json   ##(linked key vault template)
     |
     |- arm-storage
     |   +-- 1.0.0.0/
     |       +-- azuredeploy.json   ##(linked storage template)
     |
     +-- azuredeploy-rg.json   ##(main template)

引用子文件夹/模板的正确语法是什么?我们试过了

  • arm-kv/1.0.0.0/azuredeploy.json(相对路径)
  • ./arm-kv/1.0.0.0/azuredeploy.json
  • /builds/arm/arm-kv/1.0.0.0/azuredeploy.json(完整的人工制品路径)

【问题讨论】:

    标签: azure-devops azure-pipelines arm-template azure-releases


    【解决方案1】:

    当您运行任务时,您可能处于$(System.DefaultWorkingDirectory) 上下文中。这是下载工件的文件夹。请通过添加步骤并列出文件来检查您在那里有什么。

    完成后,将 ARM 部署步骤的工作目录更改为 $(System.DefaultWorkingDirectory)/builds/arm(可能略有不同,这就是为什么需要前一步来验证路径的原因)。正确设置后,您将在根目录中获得azuredeploy-rg.json,并且所有链接的模板都将变得可发现。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2022-06-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多