我想使用ansible部署登台和 生产环境 环境 . 除少数配置外,所有组件对于分段和 生产环境 都是相同的 . 所以我创建了以下文件
group_vars - all.yml - production.yml - staging.yml
每当我运行 ansible-playbook 时,它都会从all.yml加载配置 . 但我也想加载 production.yml 或 staging.yml .
ansible-playbook
production.yml
staging.yml
运行ansible playbook命令时如何包含此配置?
这应该是开箱即用的,因为您的主机已在您的广告资源中分组 .
所以我们说你的库存看起来像这样:
[production] host.a host.b [staging] host.c host.d
然后,相对于您的剧本,您将拥有以下yaml文件:
group_vars / all
group_vars / production
group_vars / staging
将加载来自所有匹配组的变量 . 当然还有 all 文件 .
all
组名称也可以是目录,而不是文件,然后将加载所有包含的yaml文件 .
在评论中讨论后更新:
因此,如果您的 生产环境 库存如下所示:
[redisServers] host.a host.b [apiServers] host.c host.d [SQLServers] host.e host.f
然后你要添加另一个组 production . 要不重复所有主机名,您可以创建group of groups,如下所示:
production
[production:children] redisServers apiServers SQLServers
1 回答
这应该是开箱即用的,因为您的主机已在您的广告资源中分组 .
所以我们说你的库存看起来像这样:
然后,相对于您的剧本,您将拥有以下yaml文件:
group_vars / all
group_vars / production
group_vars / staging
将加载来自所有匹配组的变量 . 当然还有
all
文件 .组名称也可以是目录,而不是文件,然后将加载所有包含的yaml文件 .
在评论中讨论后更新:
因此,如果您的 生产环境 库存如下所示:
然后你要添加另一个组
production
. 要不重复所有主机名,您可以创建group of groups,如下所示: