我正在使用Datadog for Ansible。我有一个安装Datadog软件包但在软件包安装后不会自动运行datadog角色的角色。 目前,我们需要在每个项目中手动调用Datadog角色。
- hosts: ...
roles :
- role1 (installing Datadog)
- Datadog.datadog
是否可以在我的role1中调用Datadog角色,而不必在role1之后的任何地方写入“datadog.datadog”。确切地说,我们可以在负责安装此角色的任务之后执行角色吗?
提前谢谢你:)
答案 0 :(得分:1)
正如您所见here,Ansible提供角色依赖。
您可以使用main.yml文件在Datadog.datadog
角色中创建名为meta的新目录。在meta/main.yml
写
---
dependencies:
- { role: role1 }
之后,当您致电Datadog.datadog
个角色时,Ansible将在role1
角色之前自动运行Datadog.datadog
。
如果您使用相同的Datadog.datadog1
文件创建另一个名为meta/main.yml
的角色,并且调用角色Datadog.datadog
和Datadog.datadog1
,则Ansible将只运行一次role1
,在运行Datadogs角色之前。