在 Ansible 剧本中指定角色版本

Specify version of role in Ansible playbook

下载角色时可以指定角色。几种方法之一是使用以下 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

没有选项可以将不同版本的 playbook 保存在同一个名称下,然后在 playbook 中指定 运行 哪个版本。

您可以:

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

    path添加到requirements.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