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