azure-devops - Azure 管道错误:找不到与模板文件模式匹配的任何文件
问题描述
将 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'
我错过了什么吗?请指导我。谢谢。
解决方案
首先,只是为了确认。
基于$(System.DefaultWorkingDirectory)/AzureAuto/pipelineascode.json
您在任务中定义的这一点,您需要确保pipelineascode.json
in repos 的位置应如下所示:
Repository
| AzureAuto
| | pipelineascode.json
| | param-pipelineascode.json
这是我的存储库示例:
如果您的 ARM 模板存储库的结构确实尊重上面提到的,那么现在我想它应该与您的分支相关。
您的主分支是否仍包含AzureAuto
文件夹和pipelineascode.json
/param-pipelineascode.json
文件?
您可以转到build result
遇到构建错误消息的页面,并确认分支名称是否是您存储 ARM 模板文件的那个:
至于我为什么这么想,是因为系统默认会基于 master 分支构建,而用户从新的YAML 管道开始并首先运行它。
此时,您需要将文件从分支复制到存储 ARM 模板文件的功能分支。azure-pipelines.yml
master
然后 go Pipelines
=> 打开对应的 YAML build => Edit => 关注左上角并更改分支:
现在,这个 YAML 管道应该建立在您存储 ARM 模板的正确分支上,并成功找到 JSON 文件。
推荐阅读
- python - 通过将熊猫中的两列分组来绘制列的直方图
- spring-boot - Spring Boot 集成测试(SpringRunner 错误)
- php - xpath 使用匹配的文本选择 td 前同级
- positioning - 从 IOS 设备获取位置
- sql - SQL:将 IN 更改为 EXISTS
- terraform - 变量的继承在 terraform 中不起作用
- android - 如何启动来自图书馆的另一个应用程序的活动?
- c++ - 当 ogl::Arrays 的默认构造函数运行时,Opencv2 崩溃
- c# - Json.net 无法序列化从 Monobehaviour 派生的类
- recaptcha - 从 reCAPTCHA 服务中删除域