如何将动态角色传递给 Ansible 剧本
How to pass dynamic roles to Ansible playbook
定义带有角色的 Ansible 剧本的标准方法是:
---
- hosts: webservers
roles:
- common
- webservers
我想为 Ansible 角色传递一个命令行变量。我的意思是说应该有一个单一的 Ansible 角色,它是一个变量,我应该能够从外部传递角色选择(公共或网络服务器)。
请让我知道我们是否以及如何实现这一目标:
roles:
- {{ choice }}
在play.yml
中使用include_role
- hosts: webservers
tasks:
- include_role:
name: "{{ choice }}"
和运行它
# ansible-playbook -e "choice=common" play.yml
定义带有角色的 Ansible 剧本的标准方法是:
---
- hosts: webservers
roles:
- common
- webservers
我想为 Ansible 角色传递一个命令行变量。我的意思是说应该有一个单一的 Ansible 角色,它是一个变量,我应该能够从外部传递角色选择(公共或网络服务器)。
请让我知道我们是否以及如何实现这一目标:
roles:
- {{ choice }}
在play.yml
中使用include_role- hosts: webservers
tasks:
- include_role:
name: "{{ choice }}"
和运行它
# ansible-playbook -e "choice=common" play.yml