ansible变量优先级从低到高,命令行优先级最低,额外值得又相继最高

  • command line values (eg “-u user”)
  • role defaults [1]
  • inventory file or script group vars [2]
  • inventory group_vars/all [3]
  • playbook group_vars/all [3]
  • inventory group_vars/* [3]
  • playbook group_vars/* [3]
  • inventory file or script host vars [2]
  • inventory host_vars/* [3]
  • playbook host_vars/* [3]
  • host facts / cached set_facts [4]
  • play vars
  • play vars_prompt
  • play vars_files
  • role vars (defined in role/vars/main.yml)
  • block vars (only for tasks in block)
  • task vars (only for the task)
  • include_vars
  • set_facts / registered vars
  • role (and include_role) params
  • include params
  • extra vars (always win precedence)

范围变量

您可以根据希望该值具有的范围来决定在何处设置变量。Ansible有三个主要范围:

  • 全局:这由配置,环境变量和命令行设置
  • 播放:每个播放和包含的结构,vars条目(vars; vars_files; vars_prompt),角色默认值和vars。
  • 主机:与主机直接关联的变量,如库存,include_vars,事实或已注册的任务输出

ansible中变量地方太多了,是学习得重点,如果把变量放在最好的位置。

Logo

北京人形旗下天工造物具身智能开源社区,聚焦具身天工与慧思开物两大平台

更多推荐