如果我的问题有点基本的话,我对ansible很新,请耐心等待。
我有10个不同主题的WordPress网站,所有这些网站都列在主页文件下的' production'小组:
[production]
black.com
red.com
blue.com
每个站点都需要不同的变量:
theme_name: black
无论如何,我可以在“制作”中制作剧本。主机组,使用变量?
答案 0 :(得分:2)
您不能轻易*按变量过滤。但您可以将主机添加到其他组中,如下所示:
[production]
black.com
red.com
blue.com
[black]
black.com
[red]
red.com
[blue]
blue.com
现在为主题名称创建一个group-vars文件。例如,对于红色组,您可以使用以下内容创建文件group_vars/red
:
theme_name: red
现在,您可以使用black
,red
和blue
群组运行您的Playbook。
*我想有一种方法,可以在hostvars
dict上运行过滤器,并将其缩小为符合条件的主机名列表。但这似乎是开销和反对最佳实践。如果您想要定位一组特定的主机,则应该在清单中为它们设置一个组。
答案 1 :(得分:1)
不确定您的问题是否完全清楚,但问题的另一个可能答案可能是:
您可以直接将变量分配给广告资源中的主机或群组,并且可以很好地介绍如何执行此操作here。
从页面中取出的示例,在主机条目之后定义的变量:
[atlanta]
host1 http_port=80 maxRequestsPerChild=808
host2 http_port=303 maxRequestsPerChild=909
这适用于少量主机,但在大规模工作时有更好的方法。
第h