使用Ansible如何用Jinja2替换变量

luc*_*axi 4 jinja2 ansible

我需要替换一个通过CLI传递给它的额外参数的变量.

./deploy.yml -e 'jira_ticket=REL-78'
Run Code Online (Sandbox Code Playgroud)

我不能去除'deploylist/REL-78'因为我传入'jira_ticket'如果我硬编码varible('REL-78')它完美无缺.

- name: Set fact
  set_fact: deploy_list"{{ item | replace('deploylist/{{ jira_ticket }}/', '')"
  with_items: ' {{ modules_to_deploy.value }}'
  register: deploy_list_result

ok: [127.0.0.1] => (item=deploylist/REL-78/api)
ok: [127.0.0.1] => (item=deploylist/REL-78/ariaapi)
ok: [127.0.0.1] => (item=deploylist/REL-78/ariaquery)
ok: [127.0.0.1] => (item=deploylist/REL-78/ariaserver)
ok: [127.0.0.1] => (item=deploylist/REL-78/dashboardidp)
ok: [127.0.0.1] => (item=deploylist/REL-78/oracle)
ok: [127.0.0.1] => (item=deploylist/REL-78/uisp)
ok: [127.0.0.1] => (item=deploylist/REL-78/ui)
Run Code Online (Sandbox Code Playgroud)

yae*_*shi 7

这个怎么样......(我也加入=并关闭}})

- name: Set fact
  set_fact: deploy_list="{{ item | replace('deploylist/'+jira_ticket+'/', '') }}"
  with_items: modules_to_deploy.value
  register: deploy_list_result
Run Code Online (Sandbox Code Playgroud)

请注意,您不必为其声明字符串with_items.