2016-05-18 1 views
0

У меня есть следующие роли проекта:Как включить задачи, загруженные из Galaxy

hosts 
site.yml 
/roles 
    /proxy 
    /tasks 
    ... 
    /web 
    /tasks 
    ... 
    /worker 
    /tasks 
    ... 
    /db 
    /tasks 
    ... 

мне нужно установить chruby на web и worker. Так установлен https://github.com/ferrarimarco/ansible-role-chruby от Galaxy, но я не знаю, как добавить задачи от chruby до web и worker ролей.

Прошу совета.

ответ

2

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

риой роли chruby показывает пример пьесы:

- hosts: all 
    roles: 
    - ferrarimarco.chruby 

Мне нужно установить chruby на вебе и рабочего

Вы можете добавить его в качестве зависимости от этих ролей. Формат тот же. Создайте файл roles/web/meta/main.yml (и то же самое для роли работника) с содержанием:

dependencies: 
    - ferrarimarco.chruby 

Если вы искали задачи на самом деле использовать chruby, я должен вас разочаровать. В этой роли нет ничего. Но это, кажется мне chruby просто это команда, которую вы можете использовать с модулями command или shell:

- name: Change ruby to 1.9.3 
    shell: chruby 1.9.3 

роли, которую могут обеспечить механизмы (тег или экстра-ВАР), чтобы вызвать определенные задачи, например установку, обновление или удаления программного обеспечения. Также роль может обеспечить модули для взаимодействия с установленным программным обеспечением. Но это не относится к роли чрубы. Он просто устанавливает chruby и его зависимости через apt.

+0

Зависимости - это то, что мне нужно. Есть ли способ управлять порядком? –

+0

Зависимости выполняются в том порядке, в котором они указаны. – udondan

+0

Я имею в виду пробег между моими задачами (я понимаю, это не «зависимость», может быть, включение). –

Смежные вопросы