我创建了一个角色,其唯一的工作是从Artifactory下载和解压缩二进制包。几乎我要安装的所有东西都要求我使用这个角色。
我有一个包含三个主要组件的部署,每个组件都将使用相同的可重用角色从Artifactory中提取。该角色采用参数,例如正在安装的包的名称,可以从中下载二进制文件的Artifactory URL。
可重用角色从/ meta / dependancies调用。
问题是可重用角色只运行一次。它第二次运行时Ansible会跳过它(即使参数不同)。
我是否有办法告诉Ansible这个角色必须始终运行,即使以前使用不同的参数运行?
答案 0 :(得分:3)
只需使用不同的参数值在playbook中多次包含该角色。
这应该可以解决问题:
---
- hosts: server
tasks:
- include_role:
name: artifactory
vars:
artifact: 'artifact_1'
- include_role:
name: artifactory
vars:
artifact: 'artifact_2'