2016-08-21 119 views
1

下载角色时,可以指定角色。其中的几种方式将符合下列requirements.yml文件:在Ansible playbook中指定角色版本

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

这个角色然后可以用下面的命令下载:

ansible-galaxy install -r requirements.yml 

你怎么又指定要使用的一个角色的版本一个Ansible剧本?

roles: 
    - jdauphant.ssl-certs 

回答

2

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

您可以:

  • “绑定”一个特定的角色版本的剧本通过下载出来的roles子目录中的项目目录(包含剧本的一个)。 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 
    
+0

谢谢回答者。我喜欢你的建议方法,但是在ansibel中指定版本需要解决方法有点奇怪。 –

+0

Ansible Galaxy此时甚至没有升级角色的选项。您需要删除角色并重新安装。除了Ansible正在进行工作之外,我认为实施这种功能并不合理。这只会造成Ansible应该处理的版本控制混乱。 – techraf