Как установить переменную из другого файла yaml в azure -pipeline.yml - PullRequest
0 голосов
/ 28 мая 2020

У меня есть файл environment.yml, показанный ниже, я хотел бы прочитать содержимое переменной name (core-force) и установить его как значение глобальной переменной в моем файле azure -pipeline.yamal, как я могу это сделать?

name: core-force
channels:
  - conda-forge
dependencies:
  - click
  - Sphinx
  - sphinx_rtd_theme
  - numpy
  - pylint
  - azure-cosmos
  - python=3
  - flask
  - pytest
  - shapely

в моем файле azure -pipeline.yml Я хотел бы иметь что-то вроде

variables:
  tag: get the value of the name from the environment.yml aka 'core-force'

Ответы [ 2 ]

2 голосов
/ 28 мая 2020

Пожалуйста, проверьте это пример :

Файл: vars.yml

variables:
  favoriteVeggie: 'brussels sprouts'

Файл: azure -pipelines.yml

variables:
- template: vars.yml  # Template reference

steps:
- script: echo My favorite vegetable is ${{ variables.favoriteVeggie }}.

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

Если вы не хотите использовать функции шаблона, как показано выше, вам необходимо сделать следующее:

  • создать отдельное задание / этап
    • определить шаг для чтения файла environment.yml и установить переменные с помощью REST API или Azure CLI
  • создайте другое задание / этап и переместите туда текущее определение сборки

Я нашел это topi c в сообществе разработчиков, где вы можете прочитать:

Переменные Yaml всегда были сопоставлениями строка: строка. В настоящее время do c кажется правильным, хотя при последнем посещении у нас могла быть ошибка.

Мы готовимся выпустить функцию в ближайшем будущем, которая позволит вам передавать более сложные структуры. Следите за обновлениями!

Но у меня нет дополнительной информации об этом.

0 голосов
/ 30 мая 2020

Глобальные переменные должны храниться в отдельном файле шаблона. В идеале этот файл должен находиться в отдельном репо, где на него могут ссылаться другие репозитории.

Вот еще один ответ для этого

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