jinja2 模板中的 Ansible 变量

Ansible variable in jinja2 template

我有一个带有 jinja2 模板的小剧本来应用 nginx 配置。 此模板使用了一些变量。

在我的变量文件中有:

---
domains:
  - test@example.com

在我的模板文件中有:

server_name  {{ domains }};

部署剧本后,在我的配置文件中我有:

server_name  ['test@example.com'];

如何才能只打印 test@example.com?没有 ['...']?

提前致谢!

如果您只有一个域,您可以只创建一个 simple variable instead of a list variable:

domain: test@example.com

然后使用 Jinja2 模板,例如:

server_name  {{ domain }};

如果你有多个:

domains:
  - one@example.com
  - two@example.com
  - three@example.com

您可以 loop 遍历列表:

{% for domain in domains %}
server_name  {{ domain }};
{% endfor %}

这将创建如下文件:

server_name  one@example.com;
server_name  two@example.com;
server_name  three@example.com;