假设我有一个剧本,其中包含一些用于安装应用服务器的角色,并且我喜欢在生产服务器和测试服务器上应用相同的剧本。
生产服务器和测试服务器都有相同的角色列表,除了一个,它只应该应用于生产服务器。
是否可以以某种方式指定此角色仅适用于使用相同剧本的生产服务器?
例如,如果剧本是:
---
- hosts: appserver
roles:
- { role: mail, tags: ["mail"] }
- { role: firewall, tags: ["firewall"] }
- { role: webserver, tags: ["webserver"] }
- { role: cache, tags: ["cache"] }
我有两个库存:一个用于生产,一个用于测试。
当我使用测试清单运行剧本时,我不希望执行“防火墙”角色。
我的想法是做一些事情,比如在“生产”库存中设置一个变量,并使用类似“如果设置了 <var>,然后执行角色“防火墙” ”......我不知道这是否可能,如果它是,怎么办?