Ansible 可替代的角色。有没有办法使目录结构更简洁?

Ansible 可替代的角色。有没有办法使目录结构更简洁?,ansible,ansible-playbook,Ansible,Ansible Playbook,现在,我的目录结构如下所示: roles ├── python2 │   └── tasks │   └── main.yml └── redis ├── handlers │   └── main.yml └── tasks └── main.yml 这有点过于复杂了。有没有办法让它像这样 roles ├── python2 │ └── tasks.yml └── redis ├── tasks.yml └── handle

现在,我的目录结构如下所示:

roles
├── python2
│   └── tasks
│       └── main.yml
└── redis
    ├── handlers
    │   └── main.yml
    └── tasks
        └── main.yml
这有点过于复杂了。有没有办法让它像这样

roles
├── python2
│   └── tasks.yml
└── redis
    ├── tasks.yml
    └── handlers.yml

我查看了一份文档,看起来没有这样的选项

据我所知,没有一种方法可以通过角色实现这一点,但听起来你可能根本不需要角色。您可以改为使用includes

您的文件结构可能如下所示:

main.yml
includes
├── python2
│   └── tasks.yml
└── redis
    ├── tasks.yml
    └── handlers.yml

main.yml看起来像:

- name: python2 play
  hosts: python2Hosts
  tasks:
    - include: includes/python2/tasks.yml

- name: redis play
  hosts: redisHosts
  tasks:
    - include: includes/redis/tasks.yml
  handlers:
    - include: includes/redis/handlers.yml
main.yml
tasks
├── python2.yml
└── redis.yml
handlers
└── redis.yml
- name: python2 play
  hosts: python2Hosts
  tasks:
    - include: includes/python2/tasks.yml

- name: redis play
  hosts: redisHosts
  tasks:
    - include: includes/redis/tasks.yml
  handlers:
    - include: includes/redis/handlers.yml