Шаблоны файлов Concourse-CI

Используя https://github.com/concourse/concourse:latest (4.2.2).

Когда у меня есть конвейерный документ concourse-ci, я могу использовать такие переменные, как ((var)) и {{var}}, но как мне передать файл с такими переменными, как

params:
  kubectl: | k8s/mykubectl # a template file that has variables

И тогда этот файл имеет такое содержимое, как:

run test --image=testme:((mytag)) --port ((myport))

Как мне получить зал для замены этих переменных, например, модуль шаблона ansible.

Спасибо за любые предложения!


person Bob    schedule 20.12.2018    source источник


Ответы (2)


Я нашел ответ на этот вопрос, используя https://github.com/kelseyhightower/confd.

В основном построил образ докера на основе alpine с двоичным файлом confd в его PATH. Затем используйте это изображение в качестве ресурса задачи для создания файла на основе шаблона и некоторого источника KVPS. С confd для ваших KVP вы можете использовать consul, vault и т. д. Я использовал файл .yml, который работает так же хорошо.

Надеюсь, это поможет!!

person Bob    schedule 31.12.2018

Я не знаю Concourse-CI, поэтому не уверен, что правильно понял ваш вопрос. Тем не менее, если у вас возник вопрос: как я могу гарантировать, что Ansible не будет интерпретировать какую-то часть файла шаблона? Я бы посоветовал вам тег raw, чтобы избежать блока шаблона.

{% raw %}
run test --image=testme:((mytag)) --port ((myport))
{% endraw %}

Ссылка: экранировать синтаксис jinja2 в шаблоне jinja2

person xenlo    schedule 21.12.2018
comment
Здравствуйте, спасибо за ваши усилия, я ценю это, однако это не был вопрос. - person Bob; 31.12.2018
comment
Пропущенный! Так что извините за шум! - person xenlo; 31.12.2018