Concourse-CI模板文件

时间:2018-12-20 09:21:09

标签: templates ansible concourse

使用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模板模块将做的事情。

谢谢您的建议!

2 个答案:

答案 0 :(得分:0)

我不知道Concourse-CI,所以不确定我是否正确理解了您的问题。 但是,如果您的问题是:我如何确保Ansible不会解释模板文件的某些部分?我建议您使用raw标签来逃避模板块。

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

参考:Escape jinja2 syntax in a jinja2 template

答案 1 :(得分:0)

我使用https://github.com/kelseyhightower/confd找到了答案。

基本上基于Alpine构建docker映像,并在其PATH中使用confd二进制文件。然后使用该图像作为任务资源,以基于模板和KVPS的某些来源生成文件。使用confd作为KVP时,您可以使用领事,保险库等,而我使用的.yml文件也可以正常工作。

希望有帮助!