有没有办法在不下载 galaxy 角色的情况下使用它们?
Is there a way to use galaxy roles without downloading them?
我 运行 在 terraform 中是 ansible。
我使用以下方法下载了 galaxy 角色:
ansible-galaxy install <role>
这将它下载到我的 ~/.ansible/roles
目录。
但是当我在我与 terraform 一起使用的 ansible 剧本中引用角色名称时,它找不到它。
所以我指定了一个目录,如下所示:
ansible-galaxy install --roles-path . <role>
虽然这现在可以工作,但它与我所有其他受源代码控制的脚本混合在一起。
我想知道是否有一种方法可以在不实际下载 galaxy 角色的情况下使用它?或者,如果有一种方法可以在我的 ansible 剧本中指定除我的角色外还可以在哪里寻找其他角色?
由于 Ansible 只知道如何从本地文件系统中检索角色,因此您必须先下载角色才能使用它们。
您可以通过设置 ANSIBLE_ROLES_PATH
环境变量或在您的 ansible.cfg
中设置 roles_path
来告诉 Ansible 在哪里寻找角色。有关详细信息,请参阅 the documentation。
我 运行 在 terraform 中是 ansible。
我使用以下方法下载了 galaxy 角色:
ansible-galaxy install <role>
这将它下载到我的 ~/.ansible/roles
目录。
但是当我在我与 terraform 一起使用的 ansible 剧本中引用角色名称时,它找不到它。
所以我指定了一个目录,如下所示:
ansible-galaxy install --roles-path . <role>
虽然这现在可以工作,但它与我所有其他受源代码控制的脚本混合在一起。
我想知道是否有一种方法可以在不实际下载 galaxy 角色的情况下使用它?或者,如果有一种方法可以在我的 ansible 剧本中指定除我的角色外还可以在哪里寻找其他角色?
由于 Ansible 只知道如何从本地文件系统中检索角色,因此您必须先下载角色才能使用它们。
您可以通过设置 ANSIBLE_ROLES_PATH
环境变量或在您的 ansible.cfg
中设置 roles_path
来告诉 Ansible 在哪里寻找角色。有关详细信息,请参阅 the documentation。