Как мне запустить конвейер с шаблоном yaml, который ссылается на файл переменных в другом репо с Azure DevOps? - PullRequest
0 голосов
/ 24 февраля 2020

У меня есть репо А, в котором хранятся шаблоны конвейеров. Репо А имеет следующий azure -template.yml:

# Repo A / azure-template.yml

stages:
- stage: ${{ variables.stageName }} 
  jobs:
    - job:
      steps:
        - task:

Большая часть кода в репо А, имеющего шаблоны, ссылается на переменные в следующем формате: $ {{variables.variableName}} , Файл переменных находится в другой папке в репозитории A. (например, variable / variables.yaml)

Теперь давайте перейдем к репо B. В репо B есть мой azure -pipeline.yml, который необходимо построить из репо A:

# Repo B / azure-pipeline.yml

resources:
  repositories:
    - repository: templates
      type: git
      name: repoA
      ref:  refs/heads/develop

variables:
- template: variables/variables.yml@templates

stages:
- template: azure-template.yml@templates  # Template reference

Когда я запускаю azure -pipeline.yml, я получаю следующую ошибку:

Произошла ошибка при загрузке конвейера сборки YAML. Строка должна содержать хотя бы один символ. Имя параметра: environmentName

Этот параметр не является моим. Я не объявил или не установил это нигде. Это говорит мне, что это Azure конкретный c, но я понятия не имею, где / почему он там или где он даже установлен.

1 Ответ

0 голосов
/ 24 февраля 2020

Как запустить конвейер с шаблоном yaml, который ссылается на файл переменных в другом репо с Azure DevOps?

Вы в правильном направлении, по крайней мере рабочее направление. Это поддерживается, как то, что вы сделали выше. Что касается полученной ошибки, я предполагаю, что с синтаксисом yaml может быть что-то не так. Вы можете попробовать выполнить следующие действия, чтобы найти проблему:

  1. Скопируйте содержимое azure-template.yml и variables.yaml непосредственно в файл azure-pipeline.yml и снова запустите конвейер, чтобы проверить, существует ли проблема сохраняется

  2. В вашем Azure -pipeline.yml укажите trigger и pool.

  3. В azure-template.yml попробуйте заменить ${{ variables.stageName }} жестким кодом.

Я впервые вижу это сообщение об ошибке, но в соответствии с Parameter name: environmentName. Вы также можете проверить, если Release.EnvironmentName имеет допустимое значение в одной задаче PS. Надеюсь, это поможет:)

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