允许某些角色在Ansible playbook中多次运行

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了允许某些角色在Ansible playbook中多次运行相关的知识,希望对你有一定的参考价值。

我做了一个角色,其唯一的工作是从Artifactory下载和解压缩二进制包。几乎我要安装的所有内容都要求我使用此角色。

我有一个包含三个主要组件的部署,每个组件将使用相同的可重用角色从Artifactory中提取。该角色采用参数,例如正在安装的包的名称,可以从中下载二进制文件的Artifactory URL。

可重用的卷从/ meta / dependencies调用。

问题是可重用角色只运行一次。它第二次运行Ansible跳过它(即使参数不同)。

是否有一种方法可以告诉Ansible这个角色必须始终运行,即使以前运行过不同的参数?

答案

只需使用不同的参数值在playbook中多次包含该角色。

这应该做的伎俩:

---

- hosts: server
  tasks:
  - include_role:
       name: artifactory
    vars:
      artifact: 'artifact_1'

  - include_role:
       name: artifactory
    vars:
      artifact: 'artifact_2'

以上是关于允许某些角色在Ansible playbook中多次运行的主要内容,如果未能解决你的问题,请参考以下文章

如何控制Ansible Playbook的执行顺序运行选定的剧本资源

如何控制Ansible Playbook的执行顺序运行选定的剧本资源

关于如何控制Ansible Playbook的执行顺序运行选定的剧本资源的一些笔记

Ansible10:Playbook的角色与包含

Ansible10:Playbook的角色及包含

Ansible 的 Playbook