Ansible:我可以强制include:使用其他路径吗

Ansible:我可以强制include:使用其他路径吗,ansible,Ansible,我有以下问题。我为两种不同的技术保留了两个单独的Ansible项目目录。假设您有一个很好的Ansible设置,并且想要拉一个Ansible项目并使用一些已建立的结构,而不完全集成它 第一个语句符合我的要求。它给出了一个fq路径 调试:msg={{lynx_ansible}/roles/centos_common/centos_{{jdk_provider}}.yml 包括:{lynx_ansible}/roles/centos_common/centos_{{jdk_provider}}.yml

我有以下问题。我为两种不同的技术保留了两个单独的Ansible项目目录。假设您有一个很好的Ansible设置,并且想要拉一个Ansible项目并使用一些已建立的结构,而不完全集成它

第一个语句符合我的要求。它给出了一个fq路径

调试:msg={{lynx_ansible}/roles/centos_common/centos_{{jdk_provider}}.yml

包括:{lynx_ansible}/roles/centos_common/centos_{{jdk_provider}}.yml


include向ansible项目根目录添加一个路径,并且不展开变量。有办法做到这一点吗?

试试$lynx\u ansible而不是{{{lynx\u ansible}。Include似乎不支持jinja2语法。

这对您有用吗?我没有用lynx_ansible美元进行任何扩张。它只是在/path/to/playbook/$lynx_ansible/roles/tasks/main.yml上加了一个标签,在文档重新组织时,我找不到它,但是有一个部分指出,include不允许变量sub,尽管现在角色依赖性允许了,也许它们会保持一致性。嗯,这很奇怪,我尝试了{{}语法,但在Ansible 1.3.2中,{{{}}和$在includes中都可以正常工作。你用的是哪个版本?我会试着发一个要点。