在 Ansible playbook 中指定角色的版本

Leo*_*ers 3 ansible ansible-galaxy ansible-role

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

---
- src: https://github.com/jdauphant/ansible-role-ssl-certs
  version: v1.5.2
Run Code Online (Sandbox Code Playgroud)

然后可以使用以下命令下载此角色:

ansible-galaxy install -r requirements.yml
Run Code Online (Sandbox Code Playgroud)

那么如何指定在 Ansible 剧本中使用哪个版本的角色?

  roles:
    - jdauphant.ssl-certs
Run Code Online (Sandbox Code Playgroud)

tec*_*raf 5

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

你可以:

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

    添加pathrequirements.yml

    - src: https://github.com/jdauphant/ansible-role-ssl-certs
      version: v1.5.2
      path: roles/
    
    Run Code Online (Sandbox Code Playgroud)
  • 在系统范围内以不同的名称(即在不同的目录中)保存不同的版本:

    - src: https://github.com/jdauphant/ansible-role-ssl-certs
      version: v1.5.2
      name: jdauphant.ssl-certs-1.5.2
    
    Run Code Online (Sandbox Code Playgroud)

    并引用特定名称:

    roles:
       - jdauphant.ssl-certs-1.5.2
    
    Run Code Online (Sandbox Code Playgroud)