Слияние ключей в файлах YAML зала

Как я могу объединить ключи в зале? В моем файле var есть пары значений ключа, например

cf-api-app: api-
cf-dispatcher-app: dispatcher-
cf-space: test

В моем конвейере я хочу передать параметр моей задаче, которая должна выглядеть примерно так

PCF_API_APP_NAME: ((cf-api-app))-((cf-space))
PCF_DISPATCHER_APP_NAME: ((cf-dispatcher-app))-((cf-space))

Итак, моя задача может получить параметр на основе среды, и это будет выглядеть примерно так

PCF_API_APP_NAME: api-test
PCF_DISPATCHER_APP_NAME: dispatcher-test

Но я почему-то предполагаю, что он не воспринимает комбинацию так, как ожидалось, и не может ее оценить.

Я даже пытался использовать привязку в моем config.yml, чтобы я мог объединять ключи в файле конфигурации вместо конвейера, но все равно это не работает.

aliases: &environ test

cf-api-app: api-*environ (fails)
cf-dispatcher-app: dispatcher-*environ (fails)
cf-space: *environ (works)

person user4537858    schedule 15.08.2017    source источник
comment
Якоря и псевдонимы YAML работают с узлами, а не с (подстроками) строковых скаляров. Эта функция описана здесь. Следовательно, api-*environ — это просто скаляр с * посередине. Для того, что вы хотите сделать, вам нужна предварительная обработка шаблона.   -  person Anthon    schedule 15.08.2017
comment
Какую ошибку вы получаете с (())?   -  person jtarchie    schedule 15.08.2017
comment
Эта ссылка была полезной, я понял про псевдонимы. Я предполагаю, что общая проблема была с версией зала. Мы используем версию 2.6, а интерполяция поддерживается начиная с версии 3.2.   -  person user4537858    schedule 16.08.2017


Ответы (1)


Проблема

Следующее сопоставление псевдонимов завершается сбоем в собрании.

  aliases: &environ test

  cf-api-app: api-*environ (fails)
  cf-dispatcher-app: dispatcher-*environ (fails)

Решение

  • Это зависит от версии зала.
  • Это поддерживается в версии зала 3.2+.

Подводные камни

  • Этот тип сопоставления псевдонимов является частью собрания и не является частью собственной спецификации YAML.
person dreftymac    schedule 11.04.2019