2016-01-26 3 views
0

У меня есть все мои анзибль связанных файлов в ansible подкаталоге корневого каталога моего проекта, так побегать some-playbook.yaml против inventories/some-inventory, я использую эту команду:Prepend «базовый путь» аргументы анзибль

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.cfg в следующих местах:

  1. Файл, указанный в переменной ANSIBLE_CONFIG.
  2. В текущем каталоге.
  3. В вашем домашнем каталоге.
  4. В /etc/ansible/ansible.cfg

Вы можете создать или изменить один, как вам нужно.

+0

Я видел это в документации, но это не совсем то, что я ищу. У меня есть несколько файлов инвентаря ('local' и' production'), и даже если я перекодирую один из них в 'ansible.cfg', мне все равно придется ссылаться на playbook как' ansible/some-playbook.yaml '. :( – thomasd

Смежные вопросы