2016-01-26 14 views
0

我都在ansible子目錄我的項目的根目錄下的我Ansible相關的文件,所以運行some-playbook.yamlinventories/some-inventory,我使用這個命令:前面加上「基本路徑」,以Ansible參數

ansible-playbook -i ansible/inventories/some-inventory ansible/some-playbook.yaml

有沒有一種方法(通過ansible.cfg或其他)使Ansible知道這一點(即,使其將其所有參數視爲具有隱含的「基本路徑」),以便我可以運行此命令從項目的根源?

ansible-playbook -i inventories/some-inventory some-playbook.yaml

要澄清一下,這裏有tree輸出的相關部分:

. 
├── ansible 
│   ├── inventories 
│   │ └── some-inventory 
│   └── some-playbook.yaml 
└── app 

回答

1

ansible.cfg文件,你可以指定清單文件是這樣的:

hostfile = /path/to/your/inventory/some-inventory 

Ansible將在以下位置查找ansible.cfg文件:

  1. ANSIBLE_CONFIG環境變量指定的文件。
  2. 在當前目錄中。
  3. 在你的主目錄。
  4. /etc/ansible/ansible.cfg

您可以創建或編輯一個你所需要的。

+0

我看到在文檔中,但它不是我所期待的。我有多個庫存文件('local'和'production'),即使我將其中的一個硬編碼到'ansible.cfg'中,我仍然必須將該手冊稱爲「ansible/some-playbook.yaml '。 :( – thomasd