当从Ansible角色将模板包含在另一个模板中时,路径是相对于包含模板的角色目录的相对路径。具体来说,路径应该是相对于包含模板的角色目录的路径,而不是相对于主机的路径或Ansible playbook的路径。
例如,假设我们有一个名为"my_role"的角色,该角色的目录结构如下:
roles/
└── my_role/
├── templates/
│ ├── included_template.j2
│ └── main_template.j2
└── tasks/
└── main.yml
在"main_template.j2"模板中包含另一个模板"included_template.j2"时,路径应该是相对于"my_role"目录的相对路径。在这种情况下,路径应该是"templates/included_template.j2"。
示例代码如下:
# roles/my_role/templates/main_template.j2
{% include 'templates/included_template.j2' %}
请注意,路径中的斜杠应该是正斜杠("/"),而不是反斜杠("")。此外,模板文件的扩展名应该是".j2"。
希望这个答案对你有帮助!如果你需要更多信息或有其他问题,请随时提问。
领取专属 10元无门槛券
手把手带您无忧上云