Ansible主机的行为:设置Vagrant或Docker
我提供了一个带有Ansible的Vagrant框,而我的ansible / site.yml包含以下hosts
条目:
--- - hosts: all
我决定设置一个CI来testingAnsible代码在ansible /下。 但是对于Docker,Ansible抱怨道:
PLAY [all] *************************************************************** skipping: no hosts matched
然后我改变主机条目到localhost
,现在它在Docker中工作! 但现在它拒绝运行在stream浪汉之下!
PLAY [localhost] *************************************************************** skipping: no hosts matched
我不是一起使用Vagrant和Docker! Vagrant被用在我的机器和Docker中,但都运行相同的Ansible playbook!
TL; DR: Vagrant仅适用于hosts: all
,而Docker仅适用于hosts: localhost
。
看起来你在你的CI环境中开始了一个空的库存。
添加-i 'local,' -c local
参数来定义一个主机local
和连接模式设置为local
库存。
你的命令行应该如下所示:
ansible-playbook -i 'local,' -c local playbook.yml
在这种情况下, hosts: all
将正常工作。