【发布时间】:2025-12-19 16:00:06
【问题描述】:
我在 terraform 中运行 ansible。
我使用以下方式下载了一个星系角色:
ansible-galaxy install <role>
这会将它下载到我的~/.ansible/roles 目录中。
但是当我在与 terraform 一起使用的 ansible playbook 中引用角色名称时,它找不到它。
所以我指定了一个这样的目录:
ansible-galaxy install --roles-path . <role>
虽然现在可以使用,但它与我所有其他受源代码控制的脚本混合在一起。
我想知道是否有一种方法可以在不实际下载的情况下使用银河角色?或者,如果有一种方法可以在我的 ansible playbook 中指定在我的角色之外寻找其他角色的位置?
【问题讨论】:
-
This question (and answer) about
requirements.ymlfor role downloads 可能会给您一些关于如何组织项目的想法。 -
有没有办法触发playbook中需求文件的下载?还是我需要在剧本之前手动运行命令?
-
这不是在剧本中完成的(尽管我从未尝试过......)。您必须在 git cloned/pull 项目后立即执行此操作。 AWX/Tower 会自动执行此操作。