2016-08-21 6 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 playbook?

roles: 
    - jdauphant.ssl-certs 

ответ

2

Там нет возможности для сохранения различных версий пьес под тем же именем, а затем указать, какую версию запустить в сборник пьес.

Вы можете:

  • «связывает» конкретная версия роли в сборник пьес, загрузив из к 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 
    
+0

Спасибо за ответчика. Мне нравится ваш предложенный подход, но немного странно, что в ansibel требуется определенная работа для указания версии. –

+0

Ansible Galaxy в данный момент даже не имеет возможности обновить роль. Вам нужно удалить роль и снова установить ее. Помимо того, что Ansible работает в процессе, я не думаю, что имеет смысл реализовать такую ​​функцию. Это просто создало беспорядок, связанный с версиями, с которым Ansible должен был иметь дело. – techraf