使用Ansible Galaxy自动安装Ansible自定义模块

使用Ansible Galaxy自动安装Ansible自定义模块,ansible,ansible-galaxy,Ansible,Ansible Galaxy,有没有什么好方法可以使用Ansible Galaxy来安装和启用Ansible(2.7.9)定制模块 我的要求允许Ansible Galaxy下载嵌入自定义模块的正确Ansible角色。一旦ansible galaxy安装--roles路径ansible/roles/-r roles/requirements.yml,我将得到以下结构(非详尽): 通过查看这部分文档,我的模块似乎位于正确的位置,不需要任何进一步的配置: 但当我发现这部分文档时,我感到困惑。ANSIBLE\u库是否与自定义模块相关

有没有什么好方法可以使用Ansible Galaxy来安装和启用Ansible(2.7.9)定制模块

我的要求允许Ansible Galaxy下载嵌入自定义模块的正确Ansible角色。一旦ansible galaxy安装--roles路径ansible/roles/-r roles/requirements.yml,我将得到以下结构(非详尽):

通过查看这部分文档,我的模块似乎位于正确的位置,不需要任何进一步的配置:

但当我发现这部分文档时,我感到困惑。
ANSIBLE\u库
是否与自定义模块相关

默认模块路径

描述:Ansible将在其中搜索模块的冒号分隔路径

类型:pathspec

默认值:~/.ansible/plugins/modules:/usr/share/ansible/plugins/modules

Ini部分:默认值

Ini键:库

环境:ANSIBLE_图书馆

调用我的模块时

  - name: Test of my Module
    mymodule:
我得到以下错误:

ERROR! no action detected in task. This often indicates a misspelled module name, or incorrect module path.

我希望不必配置
ANSIBLE\u库
,模块也可以自动调用。我是否理解正确,或者我是否也应该欺骗这个变量?

如果您的自定义模块处于角色中,您需要在您的剧本中包含该角色,因此至少:

---
- hosts: myhosts

  roles:
    - role: mymodule

  tasks:
    - name: Test of my Module
      mymodule:

工作起来很有魅力!但我不知道为什么我们需要明确地包含它。任何解释或文档?Ansible在启动playbook时,默认情况下不会解析您的所有角色。角色可以包含处理程序等。仅当使用了角色时,才能使用这些处理程序。自定义模块也是如此。您可以将模块放在与playbook相同级别的
文件夹中。这些将被无条件解析。
---
- hosts: myhosts

  roles:
    - role: mymodule

  tasks:
    - name: Test of my Module
      mymodule: