Развертывание ARM с Azure DevOps: не удалось найти файл, соответствующий шаблону файла шаблона - PullRequest
0 голосов
/ 08 апреля 2020

Я пытаюсь развернуть ARM с Azure DevOps. путь к репозиторию Git: «ARMTemplates \ CreateSQLServerARM \ azuredeploy. json» Однако я получаю ошибку. Что может быть не так?

ОШИБКА:

 Checking if the following resource group exists: KensTestRG.
 Resource group exists: true.
 Creating deployment parameters.
 ##[error]Error: Could not find any file matching the template file pattern
 Finishing: AzureResourceGroupDeployment

Код: # Начальный конвейер

trigger:
- master

pool:
  vmImage: 'ubuntu-latest'

steps:
-     task: AzureResourceGroupDeployment@2
  inputs:
    deploymentScope: 'Resource Group'
    ConnectedServiceName: 'AzureRmPipeline-conn'
    subscriptionId: '1111753a-501e-4e46-9aff-6120ed562222'
    action: 'Create Or Update Resource Group'
    resourceGroupName: 'KensTestRG'
    location: 'North Europe'
    templateLocation: 'Linked artifact'
    csmFile: 'ARMTemplates\CreateSQLServerARM\azuredeploy.json'
    deploymentMode: 'Incremental'
# Start with a minimal pipeline that you can customize to build and deploy your code.
# Add steps that build, run tests, deploy, and more:
# https://aka.ms/yaml
  • script: | echo Добавьте другие задачи для сборки, тестирования и развертывания вашего проекта. echo См. https://aka.ms/yaml displayName: «Запустить многострочный скрипт»

1 Ответ

0 голосов
/ 09 апреля 2020

Ошибка указывает на то, что azuredeploy. json Файл, указанный в параметре csmFile, не найден.

Когда агент azure создает ваш конвейер, исходный код репо клонируется в рабочую папку по умолчанию ($(System.DefaultWorkingDirectory) ie. c:\agent_work\1\s) на машине агента. Если ваш репо выглядит следующим образом:

enter image description here

Тогда структура папок на агентском компьютере такая же, как показано ниже.

s |
   - Deploymentfiles
     |
     - StorageAccount 
       |
       - **.json
   - VirtualNetwork
     |
      ...
   - readme.md

И путь для csmFile должен быть csmFile: 'Deploymentfiles\StorageAccount\azuredeploy.json'

Однако вы также можете использовать подстановочный знак, как в примере ниже, если вы не уверены в структуре папок.

csmFile: '**\azuredeploy.json'

csmFile: '$(System.DefaultWorkingDirectory)\**\azuredeploy.json'

...