2016-08-21 161 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