如何将角色包含在另一个角色中

jes*_*ier 2 ansible ansible-role

我已将所有剧本组织成角色。现在我已经拥有了所有角色,我正在尝试创建一个包含所有其他角色的新角色。

在 Ansible 中,是否可以创建一个只调用其他角色的角色?如果是这样,是否可以将其作为列表来执行,就像在剧本中一样:

---
- hosts: webservers
  roles:
  - role1
  - role2
  - role3
Run Code Online (Sandbox Code Playgroud)

toy*_*ian 6

例如,您可以将它们添加为依赖项meta/main.yml:

dependencies:
  - role: role1
  - role: role2
  - role: role3
Run Code Online (Sandbox Code Playgroud)

查看文档。

或者,您可以使用import_role或include_role(下面的示例为包含版本)。

- include_role:
    name: 'role1'

# or with a loop
- include_role:
    name: "{{ item }}"
  loop:
    - role1
    - role2
    - role3
Run Code Online (Sandbox Code Playgroud)

使用角色的不同选项均在角色文档中综合 - 使用角色

但如果我是你,我不会创建一个包含所有其他角色的角色,而是将它们包含在剧本中。将它们添加到角色中不会给您带来任何价值。