ansible - 在 Ansible playbook 中指定角色的版本

标签 ansible ansible-galaxy ansible-role

下载角色时,可以指定角色。几种方法之一是使用以下 requirements.yml文件:

---
- src: https://github.com/jdauphant/ansible-role-ssl-certs
  version: v1.5.2

然后可以使用以下命令下载此角色:
ansible-galaxy install -r requirements.yml

那么如何指定在 Ansible 剧本中使用哪个版本的角色?
  roles:
    - jdauphant.ssl-certs

最佳答案

没有选项可以用相同的名称保存不同版本的剧本,然后指定在剧本中运行哪个版本。

你可以:

  • 通过下载到 roles 将特定角色版本“绑定(bind)”到剧本项目目录的子目录(包含剧本的那个)。 Ansible 将在尝试系统中面临的角色之前使用此版本 roles目录。

    添加 pathrequirements.yml :
    - src: https://github.com/jdauphant/ansible-role-ssl-certs
      version: v1.5.2
      path: roles/
    
  • 在系统范围内以不同的名称(即在不同的目录中)保存不同的版本:
    - src: https://github.com/jdauphant/ansible-role-ssl-certs
      version: v1.5.2
      name: jdauphant.ssl-certs-1.5.2
    

    并引用特定名称:
    roles:
       - jdauphant.ssl-certs-1.5.2
    
  • 关于ansible - 在 Ansible playbook 中指定角色的版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39062461/

    相关文章:

    ansible - ansible 模板中的循环字典

    variables - 如何在j2模板文件中忽略jinja2大括号{{}}

    Ansible - 访问库存别名

    git - 将 Ansible Galaxy 角色安装为 git 存储库

    shell - 是否可以从ansible角色/文件目录运行shell脚本?

    Ansible - 如何在复制到远程之前在本地主机中压缩文件

    ansible - Ansible 中角色的串行执行

    loops - ansible 遍历文件列表并检查文件是否存在,如果不存在则下载

    ansible - 如何使用 brew 在 mac os 上安装 ansible-galaxy?

    mysql - ansible galaxy - 从 repo 安装角色