ansible 运行带有循环的角色列表

ansible 运行带有循环的角色列表

我有主文件,可以启动不同的个人角色。

---
- hosts: all
  gather_facts: False
  roles:
    - role: "{{ rnames }}"
...

当我运行个人角色时,它运行良好

ansible-playbook -i inv initiate.yml -e rnames=install_packages

rname但我更喜欢的是通过向变量提供角色列表来运行多个角色

ansible-playbook -i inv initiate.yml -e rnames=install_packages,config_merge

我尝试过with_itemsloop构造,但似乎无法弄清楚。

答案1

使用包括循环中的角色。例如,您必须拆分以逗号分隔的角色列表

  tasks:
    - include_role:
        name: "{{ item }}"
      loop: "{{ rnames.split(',') }}"

相关内容