AnsiblePlaybookでタスクを定義する方法

提供:Dev Guides
移動先:案内検索

タスクは、Ansibleプレイブックを使用して自動化できるアクションの最小単位です。 プレイブックには通常、Webサーバーのセットアップや、リモート環境へのアプリケーションの展開など、目標を達成するための一連のタスクが含まれています。

Ansibleは、プレイブック内で定義されているのと同じ順序でタスクを実行します。 LEMPサーバーのセットアップなどの手順を自動化する前に、すべてを完了するために必要な手動の手順と、それらを完了する必要がある順序を評価する必要があります。 次に、必要なタスクと、より少ないステップで目標を達成するために使用できるモジュールを決定できます。

Modules は、生のbashコマンドとして実行する必要がある操作を実行するためのショートカットを提供します。 これらは、さまざまなオペレーティングシステム間でコマンドを抽象化するためにもよく使用されます。

このガイドの前の部分で最初のプレイブックを作成したときに、debugを使用してメッセージを出力する単一のタスクを定義しました。 そのプレイブックをもう一度見てみましょう。 catコマンドを使用して、検査のためにそのファイルの内容を印刷できます。

cat ~/ansible-practice/playbook-01.yml

このプレイブックには、プレイの出力にメッセージを出力する単一のタスクが含まれています。

〜/ ansible-practice / playbook-01.yml

---
- hosts: all
  tasks:
    - name: Print message
      debug:
        msg: Hello Ansible World

タスクは、プレイ内のtasksという名前のリストとして定義され、そのプレイのターゲットを定義するhostsディレクティブと同じレベルにあります。 nameプロパティは、そのタスクが実行されようとしているときに出力される出力を定義します。

サンプルタスクは、debugモジュールを呼び出します。これにより、プレイ中にメッセージを表示できます。 これらのメッセージは、たとえば、変数の内容やコマンドによって返される出力メッセージなどのデバッグ情報を表示するために使用できます。

各モジュールには、独自のオプションとプロパティのセットがあります。 debugモジュールは、メッセージを含むmsgという名前のプロパティが出力されることを想定しています。 msgdebug内のプロパティである必要があるため、インデント(2スペース)に特に注意してください。