Jobの編集

この演習では、Jobの編集方法を学びます。

  1. RBAにログインし、Projectを開きます。画面左のJOBSアイコンをクリックします。 Image

  2. 先ほど保存したJobにカーソルを合わせ、ActionsドロップダウンメニューからDuplicate This Jobをクリックします。
    (既存のJobが無い場合は、+ New jobボタンをクリックしてください。) Image

  3. Job NameとDescription(任意)を編集し、Workflowタブをクリックします。 Image

Options#

Optionsでは、ワークフロー内で利用できる変数を定義することができます。Optionsを使用することで、Jobの実行時に動的にパラメータを設定できます。これにより、同じJobを異なる状況や要件に合わせて柔軟に実行することが可能になります。

参考: Job Options

  1. Optionsの項目で +Add an option ボタンをクリックします。 Image

  2. Option Nameにdate, Description(任意), Input TypeにDate Date FormatにYYYY-MM-DDを設定し、Saveをクリック Image

  3. もう1つOptionを作成します。+Add an option ボタンをクリックしてください。

  4. Option Nameにmessage, Description(任意), Input TypeにPlain Text, Default ValueにHello Worldを設定し、Saveをクリック Image

  5. dateとmessageの2つのOptionが設定できました Image

Job Step#

PagerDuty Runbook Automationでは、ジョブは1つ以上のステップで構成されます。各ステップは特定のタスクや操作を実行するための指示を定義します。ステップを組み合わせることで、複雑な自動化ワークフローを構築できます。

参考: Creating a Rundeck Job

  1. 既存のCommandステップを編集します。Commandステップをクリックしてください。
    (既存のステップが無い場合は、+Add a stepをクリックし、Commandステップを追加します) Image

  2. Commandにecho ${option.date} ${option.message}を、Descriptionにステップの説明を記入し、Saveをクリック Image

  3. 次は新たにステップを追加します。Commandステップの下に表示されている +Add a stepボタンをクリックしてください。

  4. Add a Step画面でScriptステップをクリックします。 Image

NodeステップとWorkflowステップ

Jobステップには、NodeステップとWorkflowステップの2種類があります。
Nodeステップは、Node(操作対象のサーバーやデバイス)上で実行されるコマンド等を定義します。対象のNodeが複数あれば、各Nodeでそれぞれ実行されます。RBAでNodeステップを利用する場合は、RBA以外に実行環境(NodeまたはRunner)を用意する必要があります。
一方、Workflowステップは、Jobの中で論理的な制御フローや条件分岐・外部APIの操作など、Nodeの数に関わらず1回だけ実行される処理を定義します。Workflowステップについては、NodeやRunnerがなくてもRBA単体で実行可能です。

  1. Scriptステップを編集します。ここではPythonを例に説明します。Scriptは以下のように設定します:
    print(f"option.dateの値: @option.date@")
    print(f"option.messageの値: @option.message@")
    
    その他の項目は実行環境に合わせて設定してください。 Image

Scriptステップのトラブルシューティング

上記の設定を行うと、実行環境では python3 /tmp/dispatch-script-tmp.py -O のようなコマンドが実行されます。dispatch-script-tmp.py はScriptの内容が記述された一時ファイルで、実行後に削除されます。
エラーになる、出力が文字化けする等の多くのケースは実行環境(Node/Runner)に問題があるため、最初にサンプルスクリプトをNode/Runner上で直接実行して正常に動作することを確認した後に、RBAから実行してみることをおすすめします。

NodeとRunnerの指定#

最後にNodeステップを実行する環境を指定します。

  1. Nodes & Runners タブを開き、Runner Set欄をクリックします。 Image

  2. Runner Setプルダウンメニューが開いたら、Choose Tagsをクリックします。 Image

  3. WORKSHOPにチェックを入れます。これでRunnerが指定できました。 Image

  4. 次はNodeを指定します。DispatchではDispatch to Nodes through Runnerにチェックを入れ、Node Filterに.*example.comと入力します。Matched Nodes欄に mars.example.com と venus.example.com が表示されていれば完了です。 Image

Runner上でJobを実行するには

Dispatchの箇所でRun on Runnerにチェックを入れると、Runner上でJobを実行できます。

  1. 最後に Create Job または Save ボタンをクリックして、Jobの設定を保存してください。

次はJobの実行方法とトラブルシューティングについて学びます。