首页 > 解决方案 > 有条件地在剧本中包含 vars_files

问题描述

我有以下玩法:

- hosts: group_of_hosts
  vars_files:
    - vars/vars1.yml
    - vars/vars2.yml
  roles:
  - { role: role1, tags: role1 }
  - { role: role2, tags: role2 }
  .
  .
  .

我想有条件地加载 vars/var2.yml,在我的情况下,只有在特定变量(假设env是在 group_vars 中定义)的情况下。我如何实现这一目标?

标签: ansible

解决方案


您不能在vars_files块中包含动态变量。你需要include_vars改用。

- name: Conditionally include vars
  include_vars: vars/var2.yml
  when: env is defined

推荐阅读