如何更改group_vars和host_vars的路径?

问题描述 投票:0回答:2

我们可以通过修改

roles_path
中的
ansible.cfg
来改变角色的路径。 但该文档似乎没有提到任何有关更改
group_vars
host_vars
路径的内容。

如何更改这些路径?

我会将与ansible相关的文件与rails应用存储库集成。 我想将角色和 vars 目录收集在单个目录下,但将主机文件和 ansible.cfg 保留在顶部目录,以便顶部目录很容易看到,并且我仍然可以在顶部目录运行

ansible-playbook
而无需移动到深层目录.

谢谢,提前。

ansible
2个回答
24
投票

您无法更改

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
放在其下方。


0
投票

为了使 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 ├── 角色/
└── ...

© www.soinside.com 2019 - 2024. All rights reserved.