Variables 如果未定义,ansible playbooks将默认获取哪个变量文件

Variables 如果未定义,ansible playbooks将默认获取哪个变量文件,variables,ansible,ansible-playbook,Variables,Ansible,Ansible Playbook,我有一个devop目录,其中包含ansible的可变directroy、plabooks和inventory目录 目录如下所示 |groups_vars -all.yml -development.yml -staging.yml |inventroy - staging - development configure.yml deploy.yml configure.yml和deploy.yml包含使用组中的变量应用于登台或开发计

我有一个devop目录,其中包含ansible的可变directroy、plabooks和inventory目录

目录如下所示

|groups_vars
      -all.yml
      -development.yml
      -staging.yml
|inventroy
      - staging
      - development

configure.yml
deploy.yml
configure.yml和deploy.yml包含使用组中的变量应用于登台或开发计算机的任务

知道我是否调用ansible playbook命令和暂存库存。它将如何知道使用哪个变量文件。中的varfile任务未添加到configure.yml和deploy.yml


顺便说一句,我使用的是我工作的公司的一个示例,这个示例正在工作,我只想知道正在发生的奇迹,它使用的是正确的变量文件,尽管configure.yml或deploy.yml中没有包含var文件。yml

Ansible使用一些约定来加载vars文件:

  • 组变量/[组]
  • host_vars/[主机]
因此,如果您有一个如下所示的清单文件:

[staging]
some-host.name.com
然后将包括这些文件(可选扩展名为.yml或.yaml):

我认为这就是你所指的“魔法”

您可以在此处找到有关此主题的更多信息:


这里:

Ansible新手,我知道vars\u文件和include\u vars可用于包含变量文件,是否有办法让每个playbook加载/导入变量。默认情况下特定于剧本本身?
/group_vars/all
/group_vars/staging
/host_vars/some-host.name.com