当我尝试使用Ansible's Composer module并将以下任务粘贴到我的playbook.yml文件中时,我收到错误。
playbook.yml
- name: Composer Install Site Dependencies
composer: command=install working_dir=/var/www/html
错误:
ERROR: composer is not a legal parameter in an Ansible task or handler
Ansible failed to complete successfully. Any error output should be
visible above. Please fix these errors and try again.
经过一番调查后,我在命令行上运行了“anisble-doc --list”来查看可用的模块,并且未列出“composer”。我正在运行Ansible 1.5.4版,是否必须单独添加?
答案 0 :(得分:3)
作为评论中指出的@ user272735,这是一个未发布的模块 - 它将针对1.6版本which is under "active development"发布。 (诚然,这是originally slated for 1.4)你有几个选择:
As" developing modules"说,第四个选项是通过ANSIBLE_LIBRARY
或--module-path
指定您的图书馆路径。但是,这会覆盖您的全局库/模块路径。除非您提供每个模块,否则这不是您想要做的事情。
我假设你的回购被命名为" ansible"并且是set up properly,就像这样:
ansible/
ansible/roles/
ansible/group_vars/
在这种情况下,只需在顶部添加library
目录('最佳做法'讨论此但不在预期的部分中):
ansible/
ansible/roles/
ansible/group_vars/
ansible/library/
在那里,在那里添加the composer
file。这使得它的路径/文件如下:
ansible/library/composer
请注意,它不是composer.py
或其他任何内容。此外,它似乎不需要+x
位,所以没有繁琐的担忧。
一旦你这样做,你可以按照你的期望运行Ansible命令。作曲家模块就在那里。