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

问题描述 投票:0回答:1

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

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

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

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

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

ansible
1个回答
3
投票

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

这应该做的伎俩:

---

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

  - include_role:
       name: artifactory
    vars:
      artifact: 'artifact_2'
© www.soinside.com 2019 - 2024. All rights reserved.