首页 > 解决方案 > 如何在执行剧本时在命令行中添加多个清单文件

问题描述

我有一本包含两个不同剧本的剧本

Sample.yml
    - name : Play1
      hosts: Host1
      tasks:
       ...
    - name: Play2
      hosts: Host2
      tasks:
       ...

我需要使用两个不同的主机(Host1 和 Host2)运行这个剧本,这两个不同的主机存在于inventory/ 目录下的两个单独的文件( Hostfile1 和 Hostfile2 )中。

inventory/
   Hostfile1
   Hostfile2
   .
   .
   HostfileN

我想知道如何在运行剧本时包含两个不同的主机文件。我知道通过在命令行中包含整个文件夹(inventory/)我们可以实现这一点,但我在 inventory/ 文件夹中有很多主机文件,所以这个选项将加载未使用的主机文件。

我试图像下面这样运行

ansible-playbook -i inventory/Hostfile1,Hostfile2 sample.yml

但这没有用。那么,有谁知道如何通过在命令行中提供多个主机文件来运行剧本?

标签: ansibleansible-2.xansible-inventory

解决方案


只需简单地提供-i多次

ansible-playbook -i inventory/Hostfile1 -i inventory/Hostfile2 sample.yml


推荐阅读