如何解决Azure Pipeline Release Artefact 链接 ARM 模板
我们在代码旁边的 build
文件夹中有我们的 ARM 模板。在我们的管道中,我们将 build
文件夹作为人工制品发布。我们有主模板。
我们想从发布管道运行我们的 ARM 模板,但是我们的主模板找不到我们链接的模板,我们收到以下错误:
##[error]InvalidTemplateSpec:无法解析相对路径“arm-kv/1.0.0.0/azuredeploy.json”。请确保父部署引用外部 URI 或模板规范 ID。使用本地文件创建模板部署时不能使用 relativePath 属性。
创建的artefact的文件夹结构如下;
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
(完整的人工制品路径)
解决方法
当您运行任务时,您可能处于 $(System.DefaultWorkingDirectory)
上下文中。这是下载工件的文件夹。请通过添加步骤和列出文件来检查您在那里有什么优势。
一旦您拥有它,将您的 ARM 部署步骤的工作目录更改为 $(System.DefaultWorkingDirectory)/builds/arm
(它可能略有不同,这就是为什么需要前一步来验证路径的原因)。正确设置后,您将在根目录中获得 azuredeploy-rg.json
,并且所有链接的模板都将变得可发现。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。