web-dev-qa-db-ja.com

Ansibleプレイブックの1つの役割のみを実行する方法は?

いくつかのプレイブックをインポートするsite.ymlがあります。

- import_playbook: webservers.yml
- ....

すべての脚本は、いくつかの役割を「呼び出し」ます。

- name: apply the webserver configuration 
  hosts: webservers

  roles:
  - javajdk
  - Tomcat
  - Apache

javajdkロールのみを実行するにはどうすればよいですか?

これにより、すべてのロールが実行されます... ansible-playbook -i inventory webservers.yml

tagsがあることは知っていますが、一般的にどのようにロールに割り当てるのですか?

9
MBushveld

タグは自然な方法です。以下のロールにそれらを指定する3つの方法:

- 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

ドキュメントへの参照

9
techraf