我有这样的剧本,每个客户有一个角色.
- hosts: hosting
roles:
- { role: client1, tags: ['client1'] }
- { role: client2, tags: ['client2'] }
Run Code Online (Sandbox Code Playgroud)
在每个角色上,我都依赖于nginx.
/roles/client1/meta/main.yml
dependencies:
- nginx
Run Code Online (Sandbox Code Playgroud)
我不希望在没有必要时启动 nginx角色.所以我已经将nginx标签添加到依赖项中.
/roles/client1/meta/main.yml
dependencies:
- { role: nginx, tags: ['system'] }
Run Code Online (Sandbox Code Playgroud)
但是当我使用标签client1启动playbook时,会执行nginx角色.有避免这种情况的解决方案吗?
我知道可以"导出"对剧本的依赖,它运作良好,但我认为这不是一个好的解决方案.
- hosts: hosting
roles:
- { role: nginx, tags: ['system'] }
- { role: client1, tags: ['client1'] }
- { role: client2, tags: ['client2'] }
Run Code Online (Sandbox Code Playgroud)
标签不会互相覆盖,但具有累积性.你的依赖现在有标签client1和system.
但这已经足够了.告诉Ansible在调用你的剧本时跳过系统标签:
ansible-playbook ... --tags client1 --skip-tags system
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1553 次 |
| 最近记录: |