ansible:在剧本中使用不同的vars调用相同的角色

use*_*834 3 ansible

我尝试从一个独特的剧本控制相同角色的调用n次与n个不同的vars:

---
- hosts: myhost
  vars:
    user: user1
    virtualenv: venv_nameV3
  roles:
    - makeuser
    - stack  # use virtualenv var so stack role is installed in venv_nameV3      
    - stack  # should need it's own virtualenv value e.g. venv_nameV4
    - stack  # should need it's own virtualenv value e.g. venv_nameV5
    - stack  # should need it's own virtualenv value e.g. venv_nameV6
Run Code Online (Sandbox Code Playgroud)

Ben*_*rne 6

您可以使用以下语法通过添加变量来参数化角色

---
- hosts: myhost
  vars:
    user: user1
    virtualenv: default_venv_name
  roles:
    - makeuser
    - { role: stack, virtualenv: 'venv_nameV3' }
    - { role: stack, virtualenv: 'venv_nameV4' }
    - { role: stack, virtualenv: 'venv_nameV5' }
    - { role: stack, virtualenv: 'venv_nameV6' }
Run Code Online (Sandbox Code Playgroud)