我正在使用Ansible AWX执行一些部署。
在某个时间点,我想设置几个参数化(env var)网址,如下所示:
environment:
SOME_URL: "https://{{ hostname }}/webpage/index.html#!/auth/passwordReset?token={% raw %}{{ token }}{% endraw %}"
此解决方案已在若干问题中提出。例如here
然而,在AWX
的作业输出中,我一直得到:
“msg”:“'令牌'未定义”
使用AWX 1.0.4.130
和Ansible 2.5.0
编辑:使用以下转义方法获得完全相同的结果:
environment:
SOME_URL: "https://{{ hostname }}/webpage/index.html#!/auth/passwordReset?token='{{ '{{' }} token {{ '}}' }}'"
更新:问题似乎与env vars有关具体,因为当我以上述任何一种方式逃避双花括号时,它都能正常工作。
答案 0 :(得分:0)
尝试使用“{{'{{'}}”和“{{'}}'}}”打印花括号。
快速示例:
---
- hosts: localhost
gather_facts: no
vars:
SOME_URL: 'https://aaaaa/webpage/index.html#!/auth/passwordReset?token={{ "{{" }}aaa{{ "}}" }}'
tasks:
- name: print it out
debug:
var: SOME_URL