Azure Pipeline 错误:找不到与模板文件模式匹配的任何文件

Posted

技术标签:

【中文标题】Azure Pipeline 错误:找不到与模板文件模式匹配的任何文件【英文标题】:Azure Pipeline Error: Could not find any file matching the template file pattern 【发布时间】:2020-08-05 17:21:02 【问题描述】:

在 Azure Pipeline 上作为代码工作,并尝试使用 YAML 管道在 Azure 中通过 ARM 模板创建资源。

在 Azure DevOps 中,我已将代码(部署 json、参数 json 和 yml 文件等)推送到功能分支下的 Azure Repos Git。

在运行管道时,由于“csmFile”值,我面临错误“错误:找不到与模板文件模式匹配的任何文件”。

我的 yml 文件包含以下 ARM 模板部署信息。

    trigger:
 branches:
    include:
    - dev-pipecode

pool:
  vmImage: 'windows-latest'

steps:

- task: AzureResourceManagerTemplateDeployment@3
  inputs:
    deploymentScope: 'Resource Group'
    azureResourceManagerConnection: 'company-development-Contributor'
    subscriptionId: 'XXXXXXXX'
    action: 'Create Or Update Resource Group'
    resourceGroupName: 'name of the resource group'
    location: 'North Europe'
    templateLocation: 'Linked artifact'
    csmFile: '$(System.DefaultWorkingDirectory)/AzureAuto/pipelineascode.json'
    csmParametersFile: '$(System.DefaultWorkingDirectory)/AzureAuto/param-pipelineascode.json'
    deploymentMode: 'Incremental'

我错过了什么吗?请指导我。谢谢。

【问题讨论】:

【参考方案1】:

首先,只是为了确认。

基于你在任务中定义的$(System.DefaultWorkingDirectory)/AzureAuto/pipelineascode.json,你需要确保pipelineascode.json在repos中的位置应该是这样的:

   Repository
    |    AzureAuto
    |    |   pipelineascode.json
    |    |   param-pipelineascode.json

这是我的存储库示例:


如果您的 ARM 模板存储库的结构确实符合上述规定,那么现在我想它应该与您的分支相关。

您的 ma​​ster 分支是否仍包含 AzureAuto 文件夹和 pipelineascode.json/param-pipelineascode.json 文件?

你可以去build result你遇到构建错误信息的页面,确认分支名是不是你存放ARM模板文件的那个:

至于我为什么这么猜,是因为系统会默认基于master分支构建,而用户从new YAML管道和first开始 运行它。

此时,您需要将azure-pipelines.yml 文件从master 分支复制 到存储ARM 模板文件的功能分支。

然后去Pipelines => 打开对应的YAML build => Edit => 关注左上角,改变分支:

现在,这个 YAML 管道应该建立在您存储 ARM 模板的正确分支上,并成功找到 JSON 文件。

【讨论】:

感谢梅林的意见。我从 csmFile 和 csmParametersFile 参数中删除了“AzureAuto”并执行了管道。它成功了。不知道为什么它不需要特别提及存储库名称“AzureAuto”。

以上是关于Azure Pipeline 错误:找不到与模板文件模式匹配的任何文件的主要内容,如果未能解决你的问题,请参考以下文章

Azure ARM 模板“找不到带有名称的托管环境

在 Azure DevOps Pipeline 模板中使用变量

如何使 MSBuild MakeDir 任务在 Azure Pipeline YAML 模板中工作?

Azure Functions 突然找不到入口点错误

未捕获的错误:找不到类 'WindowsAzure\Common\ServicesBuilder' - MS Azure | PHP

Azure DevOps Build 出现错误:找不到程序集“System.ComponentModel.Annotations”