我们可以通过修改
roles_path
中的ansible.cfg
来改变角色的路径。
但该文档似乎没有提到任何有关更改 group_vars
和 host_vars
路径的内容。
如何更改这些路径?
我会将与ansible相关的文件与rails应用存储库集成。 我想将角色和 vars 目录收集在单个目录下,但将主机文件和 ansible.cfg 保留在顶部目录,以便顶部目录很容易看到,并且我仍然可以在顶部目录运行
ansible-playbook
而无需移动到深层目录.
谢谢,提前。
您无法更改
host_vars
和 group_vars
的路径。
这些路径始终与您的
hostfile
相关。您可以在 ansible 配置中设置标准主机文件:
hostfile = /path/to/hostfile/hostfile.ini
在这种情况下,您的默认
host_vars
可以在找到
/path/to/hostfile/host_vars/
您也可以使用多个主机文件,假设您有:
/path/to/your/project/inventory/inventory.ini
与
host_vars
位于
/path/to/your/project/inventory/host_vars/
在这种情况下,您可以使用以下方式从任何地方调用 ansible:
ansible -i /path/to/your/project/inventory/inventory.ini my_playbook.yml
请记住:
host_vars
和group_vars
与您的inventory (hostfile)
相关,因此您可以更改您的inventory
位置并将相应的host_vars
放在其下方。
为了使 host_var 和 grop_var 正常工作,它们应该与您的库存位于同一目录中。您可以按照以下任一设置进行操作:
├── 库存/ │ ├── 库存.ini │ ├── 主机变量/ │ │ ├── 192.168.100.34.yml │ │ └── 192.168.100.35.yml │ └── group_vars/ │ └── all.yml └── 剧本/ └── 站点.yml
或
安塞布尔/
├── ansible.cfg
├── 库存/
│ ├── 发展
│ └── 生产
├── 主机变量/
│ ├── 192.168.100.34.yml
│ └── 192.168.100.35.yml
├── 站点.yml
├── 角色/
└── ...