我有一个角色,我想用不同的vars文件多次运行,我目前正在做以下事情:
- hosts: localhost
pre_tasks:
include_vars: "vars/vars1.yml"
roles:
- my_role
- hosts: localhost
pre_tasks:
include_vars: "vars/vars2.yml"
roles:
- my_role
是否有更少的样板方法来做到这一点?我知道它是possible to parameterise roles但我无法在ansible文档中找到关于多次运行角色并且每次调用不同include_vars
的内容。
答案 0 :(得分:1)
我想做一些类似的事情,我最后在我的库存中有两个小组
[group1]
localhost1
[group2]
localhost2
然后在group_vars中我有不同的值。在您的情况下将是
# file: group_vars/group1/main.yml
include_file: vars/vars1.yml
和
# file: group_vars/group2/main.yml
include_file: vars/vars2.yml
然后,您可以将您的剧本修改为类似的内容
- hosts: all
pre_tasks:
include_vars: "{{ include_file }}"
roles:
- my_role
最后,为两个群组执行你的剧本
ansible-playbook pb.yml -l group1,group2
它应该处理两个instalations