Ansible : Playbook を利用する (include)2025/02/18 |
タスクや Playbook は他からインクルードすることができます。 |
|
[1] | タスクを他からインクルードする場合は、[tasks] 内に [include: ***] と記述します。 |
[cent@dlp ~]$
vi playbook_sample.yml # [tasks] ディレクトリ配下の [included.yml] をインクルード - hosts: target_servers become: yes become_method: sudo tasks: - include_tasks: tasks/included.yml # タスクの部分のみの記述で OK - name: General packages are installed yum: name: "{{ packages }}" state: present vars: packages: - tar - wget - unzip tags: General_Packages ansible-playbook playbook_sample.yml --ask-become-pass BECOME password: PLAY [target_servers] *************************************************************************** TASK [Gathering Facts] ************************************************************************** ok: [10.0.0.52] ok: [10.0.0.51] TASK [include_tasks] **************************************************************************** included: /home/cent/tasks/included.yml for 10.0.0.51, 10.0.0.52 TASK [General packages are installed] *********************************************************** ok: [10.0.0.52] ok: [10.0.0.51] PLAY RECAP ************************************************************************************** 10.0.0.51 : ok=3 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0 10.0.0.52 : ok=3 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0 |
[2] | Playbook を他からインクルードする場合は、[import_playbook] を利用します。 [1] の例に加えて、[httpd] の起動状態を保つ Playbook をインクルードします。 |
[cent@dlp ~]$
vi playbook_sample.yml - hosts: target_servers become: yes become_method: sudo tasks: - include_tasks: tasks/included.yml # 他の Playbook をインクルード - import_playbook: httpd.yml
[cent@dlp ~]$
vi httpd.yml # 通常の Playbook と同様の書式で記述する - hosts: target_servers become: yes become_method: sudo tasks: - name: httpd is installed yum: name: httpd state: present - name: httpd is running and enabled service: name: httpd state: started enabled: yes ansible-playbook playbook_sample.yml --ask-become-pass BECOME password: PLAY [target_servers] ************************************************************************* TASK [Gathering Facts] ************************************************************************ ok: [10.0.0.52] ok: [10.0.0.51] TASK [include_tasks] ************************************************************************** included: /home/cent/tasks/included.yml for 10.0.0.51, 10.0.0.52 TASK [General packages are installed] ********************************************************* ok: [10.0.0.52] ok: [10.0.0.51] PLAY [target_servers] ************************************************************************* TASK [Gathering Facts] ************************************************************************ ok: [10.0.0.51] ok: [10.0.0.52] TASK [httpd is installed] ********************************************************************* ok: [10.0.0.51] ok: [10.0.0.52] TASK [httpd is running and enabled] *********************************************************** ok: [10.0.0.51] ok: [10.0.0.52] PLAY RECAP ************************************************************************************ 10.0.0.51 : ok=6 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0 10.0.0.52 : ok=6 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0 |
Sponsored Link |
|