我有一堆剧本,其中很大一部分角色对所有服务器都是通用的。所以我想做点什么:
---
- hosts: nfs2pre2
sudo: true
gather_facts: no
roles:
- include: initial_setup.yml
- { role: role10, tags: ['role10' ] }
- { role: role11, tags: ['role11' ] }
initial_setup.yml
类似于:
- { role: role1, tags: ['role1' ] }
- { role: role2, tags: ['role2' ] }
有可能吗?
答案 0 :(得分:0)
据我所知,这是不可能的,但有一个简单的解决方法。您可以创建一个仅依赖于其他角色的角色。要按照您的示例,您可以通过创建目录initial_setup
来创建角色roles/initial_setup
,并在其中创建一个带有文件meta
的目录main.yml
:
# roles/initial_setup/meta/main.yml
---
dependencies:
- { role: 'role1', tags: 'role1' }
- { role: 'role2', tags: 'role2' }
现在您可以将initial_setup
用作常规角色:
- hosts: nfs2pre2
sudo: true
gather_facts: no
roles:
- { role: initial_setup, tags: ['initial_setup' ] }
- { role: role10, tags: ['role10' ] }
- { role: role11, tags: ['role11' ] }