如何只运行Ansible剧本的一个角色?

时间:2017-11-21 14:03:42

标签: ansible ansible-2.x ansible-role

我有一个site.yml,可以导入几个剧本。

- import_playbook: webservers.yml
- ....

每个剧本"来电"几个角色:

- name: apply the webserver configuration 
  hosts: webservers

  roles:
  - javajdk
  - tomcat
  - apache

如何只运行javajdk角色?

这将运行所有角色...... ansible-playbook -i inventory webservers.yml

我知道标签,但如何将它们分配给一般角色?

1 个答案:

答案 0 :(得分:10)

标签是自然的方式。为下面的角色指定它们的三种方法:

- name: apply the webserver configuration 
  hosts: webservers

  roles:
    - role: javajdk
      tags: java_tag
    - { role: tomcat,  tags: tomcat_tag }

  tasks:
    - include_role:
        name: apache
      tags: apache_tag

Reference to docs