gpt4 book ai didi

ansible - 是否可以将其他标签应用于依赖角色?

转载 作者:行者123 更新时间:2023-12-05 00:18:17 27 4
gpt4 key购买 nike

我有一个这样的剧本,每个客户一个角色。

- 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 启动剧本时,nginx 角色被执行。
有没有办法避免这种情况?

我知道可以“导出”对剧本的依赖,效果很好,但我认为这不是一个很好的解决方案。
- hosts: hosting
roles:
- { role: nginx, tags: ['system'] }
- { role: client1, tags: ['client1'] }
- { role: client2, tags: ['client2'] }

最佳答案

标签不会相互覆盖,而是累积的。您的依赖项现在具有标签 client1system .

但这已经足够了。只需告诉 Ansible 在调用你的剧本时跳过系统标签:

ansible-playbook ... --tags client1 --skip-tags system

关于ansible - 是否可以将其他标签应用于依赖角色?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38250396/

27 4 0