Azure Ошибка конвейера: не удалось найти файл, соответствующий шаблону файла шаблона - PullRequest
0 голосов
/ 22 апреля 2020

Работает на Azure Конвейер как код и пытается создать ресурс с помощью шаблона ARM в Azure с использованием конвейера YAML.

В Azure DevOps я поместил код (развертывание json, параметр json и файл yml и т. Д. c) в 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 Ответ

1 голос
/ 23 апреля 2020

Во-первых, просто для подтверждения.

Исходя из этого $(System.DefaultWorkingDirectory)/AzureAuto/pipelineascode.json, определенного вами в задаче, вам необходимо убедиться, что расположение pipelineascode.json в репозиториях должно выглядеть следующим образом:

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

Вот мой пример репозитория:

enter image description here


Если структура вашего репозитория ARM-шаблона действительно уважает Выше, теперь я думаю, это должно быть связано с вашей веткой.

Содержит ли ваша ветвь master папку AzureAuto и файлы pipelineascode.json / param-pipelineascode.json?

Вы можете go на странице build result, с которой вы столкнулись с сообщением об ошибке сборки, и подтвердить, является ли имя ветви тем, в котором вы сохранили файлы шаблона ARM:

enter image description here

Что касается того, почему я так думаю, то это потому, что система будет строить на основе главной ветви по умолчанию , пока пользователь запускает новый конвейер YAML и сначала запустите его.

В настоящее время вам нужно скопировать файл azure-pipelines.yml из ветви master в ту ветвь функций, в которой хранятся файлы шаблонов ARM.

Тогда go Pipelines => Открыть соответствующую сборку YAML => Редактировать => Сфокусироваться на левом верхнем углу и изменить ветку:

enter image description here

Теперь этот конвейер YAML должен основываться на правильной ветви, в которой вы сохранили шаблоны ARM, и найти файл JSON.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...