我知道可以将Ansible变成拉结构:https://docs.ansible.com/ansible/2.4/ansible-pull.html
我遇到的麻烦是Ansible似乎还想管理库存。因此,使用脚本来提取存储库:
ansible-pull -U <repository> [options] [<playbook.yml>]
我收到以下警告:
[WARNING]: Could not match supplied host pattern, ignoring: XYZA
当运行实际的剧本时,我收到了这条消息:
PLAY [all] ********************************************************************************************************
skipping: no hosts matched
默认情况下,Ansible将在/etc/ansible/hosts
文件中搜索主机。但是现在它正在拉动,我认为它不应该关心主机。我知道我也可以将-i
参数的主机指定为数组,例如:
ansible-pull -U git@github.com/somerepo -i localhost, playbook.yml
但在我的情况下,有很多主机,我只想对所有从该存储库中提取的所有主机运行该剧本。有没有办法做到这一点,还是我需要动态指定每个主机单独的脚本/库存?
编辑:我也尝试了-i all
或-i all,
,但似乎对我不起作用。
答案 0 :(得分:0)
这似乎只是一个警告,而不是一个错误,所以Ansible pull应该仍然运行。使用库存localhost
运行它可以解决问题:
ansible-pull -U git@github.com/somerepo -i localhost, playbook.yml