我有主文件,可以启动不同的个人角色。
---
- 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_items
并loop
构造,但似乎无法弄清楚。
答案1
使用包括循环中的角色。例如,您必须拆分以逗号分隔的角色列表
tasks:
- include_role:
name: "{{ item }}"
loop: "{{ rnames.split(',') }}"