Ansibleハンドラーの書き方と複数のタスクの実行方法


  1. ハンドラーの定義: まず、ハンドラーを定義する必要があります。以下は、例です。
---
- name: ハンドラーの定義
  hosts: ターゲットホスト
  tasks:
    - name: タスク1
      command: コマンド1
      notify: ハンドラー名
    - name: タスク2
      command: コマンド2
      notify: ハンドラー名
  handlers:
    - name: ハンドラー名
      command: ハンドラーのコマンド
  1. ハンドラーの実行: ハンドラーは、特定のイベントが発生した場合にのみ実行されます。以下は、ハンドラーがタスクの実行後にのみ実行される例です。
---
- name: ハンドラーの実行
  hosts: ターゲットホスト
  tasks:
    - name: タスク1
      command: コマンド1
      notify: ハンドラー名
  handlers:
    - name: ハンドラー名
      command: ハンドラーのコマンド
  1. 複数のタスクとハンドラーの実行: 複数のタスクとハンドラーを実行する場合は、タスクの後にnotifyキーワードを使用してハンドラーを指定します。以下は、複数のタスクとハンドラーを持つ例です。
---
- name: 複数のタスクとハンドラーの実行
  hosts: ターゲットホスト
  tasks:
    - name: タスク1
      command: コマンド1
      notify: ハンドラー名
    - name: タスク2
      command: コマンド2
      notify: ハンドラー名
  handlers:
    - name: ハンドラー名
      command: ハンドラーのコマンド

これらの例では、ハンドラーはタスクの実行後に実行されますが、必要に応じて特定のイベントに応じてハンドラーを実行するようにカスタマイズすることもできます。

Ansibleハンドラーを使用することで、タスクの実行時に追加の処理を実行することができます。これにより、インフラストラクチャの設定変更や特定のイベントに応じたアクションの自動化が容易になります。以上が、Ansibleハンドラーの書き方と複数のタスクの実行方法の概要です。