docker_compose_mq: <string-passed from Jenkins>
docker_compose_profiles: "string"
{% if "{{ risk_docker_compose_mq }}" == "string" %}
{% "{{ risk_docker_compose_profiles: "string1" }}" %}
{% endif %}
我几乎可以确定这与转义引号有关,但我一生无法解决我做错的事情,有什么想法吗?
#1 楼
语法失败是由于{{...}}
语句块中存在{%...%}
表达式块(通常用于用相应的内容填充模板输出)引起的。我仅使用独立的jinja2模板,所以我我不能100%确定这是否也适用于Ansible jinja模板,但我怀疑是这样。在Jinja2
{%...%}
语句块中,直接引用变量(并且变量分配在{% set ...%}
语句中完成),因此您可能需要遵循以下原则:{% set docker_compose_mq = <string-passed from Jenkins> %}
{% set docker_compose_profiles = "string" %}
{% if risk_docker_compose_mq == "string" %}
{% set risk_docker_compose_profiles = "string1" %}
{% endif %}
评论
不幸的是没有解决。也许是在我的Ansible庄园中更深的地方导致了这些问题。
– jto
18年5月29日在12:36
#2 楼
语法如下:{% if backup_dest[0:1] == "/" %}
=>该脚本测试“ backup_dest”的第一个字符是否为“ /”
{% if variable == "blabla" %}
=>这一项测试“变量”是否等于“ blabla”
注意事项
评论
您可以尝试一下gist.github.com/halberom/794c06598f40ccc31560吗?这也没有运气-确信我的Ansible设置的另一方面肯定有问题... @ 030