【问题标题】:VSTS Pipeline Deployment of ARM Error: Could not find any file matching the template file patternARM错误的VSTS管道部署:找不到与模板文件模式匹配的任何文件
【发布时间】:2021-04-02 21:28:11
【问题描述】:

我正在尝试在 VSTS Pipeline 中部署 Azure ARM 脚本。

我在构建步骤中“发布”了工件并在发布步骤中下载了工件。日志似乎表明它找到了 ARM 脚本(经过多次试验和错误。找到here 的规定方式似乎根本不起作用)。

但是我得到错误:找不到与模板文件模式匹配的任何文件

顺便说一句,即使找不到文件,我也会收到此错误(这是有道理的..但实际上确实找到了文件时却没有)。当我在 Azure 门户中手动部署时,ARM 脚本会正确部署。

我在发布管道中使用 Azure 资源组部署步骤。

我不确定还有哪些其他信息可能有助于解决此问题,但请提出请求,希望我能将其提供给您。

谢谢

2018-12-14T18:32:06.6009951Z ##[section]Starting: Azure Deployment:Create Or Update Resource Group action on ChrisGroup
2018-12-14T18:32:06.6015952Z 

==============================================================================
2018-12-14T18:32:06.6016124Z Task         : Azure Resource Group 
Deployment
2018-12-14T18:32:06.6016287Z Description  : Deploy an Azure resource manager (ARM) template to a resource group. You can also start, stop, delete, deallocate all Virtual Machines (VM) in a resource group
2018-12-14T18:32:06.6016444Z Version      : 2.141.4
2018-12-14T18:32:06.6016526Z Author       : Microsoft Corporation
2018-12-14T18:32:06.6016655Z Help         : [More Information] (https://aka.ms/argtaskreadme)
2018-12-14T18:32:06.6016801Z 
==============================================================================
2018-12-14T18:32:06.9610677Z Checking if the following resource group exists: ChrisGroup.
2018-12-14T18:32:07.2734470Z Resource group exists: true.
2018-12-14T18:32:07.2736899Z Creating deployment parameters.
2018-12-14T18:32:07.2809876Z The detected encoding for file 'D:\a\r1\a\IAC\ARM.json' is 'utf-8'
2018-12-14T18:32:07.3021166Z ##[error]Error: Could not find any file matching the template file pattern
2018-12-14T18:32:07.3030720Z ##[section]Finishing: Azure Deployment:Create Or Update Resource Group action on ChrisGroup

根据要求:

在我输入的模板参数字段中 -dailyreports_name '$(IACWeb)' -dailyreportsapi_name '$(IACAPI)'

和 OMG... 它应该是变量文件的路径。呃

一旦我输入了覆盖模板参数,它就可以工作了。

Microsoft 应该可能会将标签改写为“模板参数文件”

【问题讨论】:

  • 您为该步骤提供了哪些值?
  • 感谢大脑的慢跑。我完全没想到它会是模板文件的路径以外的任何东西。错误消息非常具有误导性。
  • 我的问题是案例敏感度。查看。现在再检查一次,如果已经过了午夜,就去睡觉,明天再试一次。

标签: azure-devops azure-pipelines azure-resource-manager


【解决方案1】:

您需要将传入的参数放入“覆盖模板参数”中。 “模板参数”字段实际上是对文件位置的引用。

【讨论】:

  • 我目前遇到了和你一样的问题,但我无法解决。它曾经可以工作,但是我在我的应用程序中添加了一些 .sql 文件,现在它突然抛出错误“找不到任何文件”,“覆盖模板参数”到底是什么意思
  • 这是 Azure 资源组部署任务中的字段之一。
【解决方案2】:

##[错误]错误:找不到任何与模板文件模式匹配的文件

在这里检查几件事:

  1. 检查参数文件和模板文件中的所有参数名称(区分大小写)。

  2. 如果您将 yml 文件用于 azure devops 管道,

    检查所有 overrideParameters 是否正确提及 overrideParameters: '-environment "${{parameters.environment}}"' #例如

    检查 csmParametersFile , yml 中的 csmFile 路径

【讨论】:

    【解决方案3】:

    对我来说,问题是我必须在创建版本时选择特定的内部版本号。如果不使用特定构建并默认保留最新版本选项,则会出现此错误。

    【讨论】:

      猜你喜欢
      • 2020-08-05
      • 2020-06-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-02-06
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多