Ansible:安装角色包并运行它

时间:2016-12-07 18:58:40

标签: ansible handler role

我正在使用Datadog for Ansible。我有一个安装Datadog软件包但在软件包安装后不会自动运行datadog角色的角色。 目前,我们需要在每个项目中手动调用Datadog角色。

- hosts: ...
roles :
- role1 (installing Datadog)
- Datadog.datadog

是否可以在我的role1中调用Datadog角色,而不必在role1之后的任何地方写入“datadog.datadog”。确切地说,我们可以在负责安装此角色的任务之后执行角色吗?

提前谢谢你:)

1 个答案:

答案 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.datadogDatadog.datadog1,则Ansible将只运行一次role1,在运行Datadogs角色之前。