如果没有定义,ansible playbooks默认获取哪个变量文件

时间:2014-07-29 05:04:07

标签: variables ansible ansible-playbook

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

目录如下所示

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

configure.yml
deploy.yml

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

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

顺便说一下,我正在使用我工作的公司的一个例子并且示例正在运行我只是想知道正在发生的魔法是使用正确的变量文件虽然var文件没有在configure.yml中包含,也没有deploy.yml

1 个答案:

答案 0 :(得分:1)

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

  • group_vars / [组]
  • host_vars / [主机]

因此,如果您有一个如下所示的库存文件:

[staging]
some-host.name.com

然后将包含这些文件(可选扩展名.yml或.yaml):

/group_vars/all
/group_vars/staging
/host_vars/some-host.name.com

我认为这是"魔术"你指的是。

您可以在此处找到有关此主题的更多信息:http://docs.ansible.com/playbooks_variables.html#variable-precedence-where-should-i-put-a-variable

在这里:http://docs.ansible.com/playbooks_best_practices.html