11

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

- import_playbook: webservers.yml
- ....

每个剧本“调用”几个角色:

- name: apply the webserver configuration 
  hosts: webservers

  roles:
  - javajdk
  - tomcat
  - apache

我怎样才能只运行 javajdk 角色?

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

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

4

1 回答 1

17

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

- 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

您可以明确指定要运行的标签:

ansible-playbook example.yml --tags "java_tag"

参考文档

于 2017-11-21T14:06:35.120 回答