【问题标题】:Ansible : Install a role package and run itAnsible : 安装一个角色包并运行它
【发布时间】:2017-04-22 20:33:28
【问题描述】:

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

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

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

提前谢谢你:)

【问题讨论】:

  • 你检查了meta,你可以添加它作为依赖

标签: ansible handler role


【解决方案1】:

如您所见here,Ansible 提供了角色依赖。 您可以使用 main.yml 文件在 Datadog.datadog 角色中创建名为 meta 的新目录。在meta/main.yml

--- 
dependencies:
    - { role: role1 }

之后,当您调用Datadog.datadog 角色时,Ansible 会在Datadog.datadog 角色之前自动运行role1

如果您使用相同的meta/main.yml 文件创建另一个名为Datadog.datadog1 的角色并调用角色Datadog.datadogDatadog.datadog1,那么在运行Datadogs 角色之前,Ansible 将只运行一次role1

【讨论】:

    猜你喜欢
    • 2016-08-25
    • 2016-10-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-14
    • 2014-10-03
    • 2021-07-29
    相关资源
    最近更新 更多