如何跳过主机存储库并在Ansible中指定主机运行时

如何跳过主机存储库并在Ansible中指定主机运行时,ansible,ansible-inventory,Ansible,Ansible Inventory,我不希望为ansible playbook命令指定任何主机文件 ansible-playbook site.yml -e "source_host=mymac1 source_file=myfile1" My site.yml看起来像这样: 更多站点.yml --- - hosts: "{{ source_host | default('my_pc')}}" user: weblogic 但是,我得到以下错误: [警告]:无法匹配提供的主机模式,忽略:全部 [警告]:提供的主机列表为

我不希望为ansible playbook命令指定任何主机文件

ansible-playbook site.yml  -e "source_host=mymac1 source_file=myfile1"
My site.yml看起来像这样:

更多站点.yml

---

- hosts: "{{ source_host | default('my_pc')}}"
  user: weblogic
但是,我得到以下错误:

[警告]:无法匹配提供的主机模式,忽略:全部

[警告]:提供的主机列表为空,只有本地主机可用

剧本:site.yml **********************************************************************************************************************************************************************************site.yml中播放2次[警告]:无法匹配提供的主机模式, 忽略:mymac1

您能建议我如何将任何主机传递到我的playbook,而不必维护和主机响应所有主机信息吗


我使用的是ansible 2.3.1.0版

您可以使用在线库存:

playbook.yml:

- hosts: all
  tasks:
    - debug: msg=hello
命令:

ansible-playbook -i 'mymac1,' -e source_file=myfile1 playbook.yml
注意主机名后面的逗号


另请参见:

我的剧本中有两个剧本,因此它有两个主机:。如何确保使用-e:ansible playbook site.yml-e“source\u host=mymac1 source\u file=myfile1 dest\u host=mymac2”传递的第一个-hosts:gets source\u host=mymac1和第二个-hosts:gets dest\u host=mymac2第一台主机将是文件源的主机,而第二台主机将是复制文件的目标。。。因此有两个hostsTry
all[0]
all[1]
-i'srchost,destwost'
(但我不确定,这是一种相当罕见的情况)。