Ansible 是否可以将其他标记应用于依赖项角色?
我有一个这样的剧本,每个客户扮演一个角色Ansible 是否可以将其他标记应用于依赖项角色?,ansible,role,Ansible,Role,我有一个这样的剧本,每个客户扮演一个角色 - hosts: hosting roles: - { role: client1, tags: ['client1'] } - { role: client2, tags: ['client2'] } 例如,在每个角色上,我都依赖于nginx /roles/client1/meta/main.yml dependencies: - nginx 我想不在不必要时启动nginx角色。因此,我将nginx标记添加到依赖项中 /ro
- hosts: hosting
roles:
- { role: client1, tags: ['client1'] }
- { role: client2, tags: ['client2'] }
例如,在每个角色上,我都依赖于nginx
/roles/client1/meta/main.yml
dependencies:
- nginx
我想不在不必要时启动nginx角色。因此,我将nginx标记添加到依赖项中
/roles/client1/meta/main.yml
dependencies:
- { role: nginx, tags: ['system'] }
但是当我启动带有标记client1的playbook时,nginx角色被执行。
有没有办法避免这种情况
我知道可以“导出”对playbook的依赖,这很好,但我认为这不是一个好的解决方案
- hosts: hosting
roles:
- { role: nginx, tags: ['system'] }
- { role: client1, tags: ['client1'] }
- { role: client2, tags: ['client2'] }
标记不会相互覆盖,而是累加的。您的依赖项现在有标签
client1
和system
但这已经足够了。只需告诉Ansible在调用playbook时跳过系统标记:
ansible-playbook ... --tags client1 --skip-tags system