検索

第23章 ワークフロージョブテンプレート

download PDF

ワークフロージョブテンプレートは、一連の異種リソースをリンクして、リリースプロセスに含まれていたジョブ全体を 1 つの単位として追跡します。これらのリソースには以下が含まれます。

  • ジョブテンプレート
  • ワークフロージョブテンプレート
  • プロジェクト同期
  • インベントリーソース同期

Templates リストビューには、現在使用可能なワークフローテンプレートとジョブテンプレートが表示されます。デフォルトのビューは折りたたまれており (Compact)、テンプレート名、テンプレートの種類、およびそのテンプレートを使用して実行されたジョブのステータスが表示されます。各エントリーの横にある矢印をクリックすると、展開して詳細情報を表示できます。このリストは名前のアルファベット順に並べ替えられていますが、他の条件で並べ替えたり、テンプレートのさまざまなフィールドや属性で検索したりできます。この画面から、ワークフローのジョブテンプレートを起動して ( Launch )、編集し ( Edit )、コピー ( Copy ) します。

ワークフローテンプレートにのみ、ワークフローエディターにアクセスするためのショートカットとしてワークフロービジュアライザーアイコン ( Workflow visualizer ) があります。

ワークフローテンプレートのホーム
注記

ワークフローテンプレートは、別のワークフローテンプレートの設定要素として使用できます。ワークフローテンプレートでいくつかの設定を指定することで、Prompt on Launch を有効にできます。これらの設定は、ワークフロージョブテンプレートレベルで編集できます。これらは、個々のワークフローテンプレートレベルで割り当てられた値には影響しません。詳しい手順は、ワークフロービジュアライザー セクションを参照してください。

23.1. ワークフローテンプレートの作成

新しいワークフロージョブテンプレートを作成するには、次の手順を実行します。

重要

ワークフローテンプレートに制限を設定する場合、Prompt on launch をオンにしないと、制限がジョブテンプレートに渡されません。実行している Playbook に制限が必須である場合、これにより Playbook が失敗する可能性があります。

手順

  1. Templates リストビューで、Add リストから Add workflow template を選択します。

    ワークフローテンプレートの作成
  2. 次のフィールドに適切な詳細を入力します。

    注記

    フィールドで Prompt on launch チェックボックスがオンになっている場合、ワークフローテンプレートを起動するか、別のワークフローテンプレート内でワークフローテンプレートを使用すると、そのフィールドの値の入力を求めるプロンプトが表示されます。ほとんどのプロンプト値は、ジョブテンプレートに設定されている値をオーバーライドします。次の表に例外を示します。

    フィールドオプションPrompt on Launch

    Name

    ジョブの名前を入力します。

    該当なし

    Description

    必要に応じて、任意の説明を入力します (オプション)。

    該当なし

    Organization

    ログインしているユーザーが使用できる組織から、このテンプレートで使用する組織を選択します。

    該当なし

    Inventory

    必要に応じて、ログインしたユーザーが使用できるインベントリーから、このテンプレートで使用するインベントリーを選択します。

    はい

    Limit

    Playbook が管理または影響を与えるホストのリストをさらに制限するためのホストのパターンを指定します。複数のパターンをコロン (:) で区切ることができます。コア Ansible と同じです。

    • a:b は「a または b のグループに含まれる」という意味です。
    • a:b:&c は、「a または b に含まれるが、c には必ず含まれなければならない」という意味です。
    • a:!b は「a にはあるが、b には絶対にない」という意味です。

    詳細は、Ansible ドキュメントの Patterns: targeting hosts and groups を参照してください。

    はい

    選択すると、デフォルト値が指定されている場合でも、起動時に制限を選択するように求めます。

    Source control branch

    ワークフローのブランチを選択します。このブランチは、ブランチを要求するすべてのワークフロージョブテンプレートノードに適用されます。

    はい

    Labels

    • 必要に応じて、このワークフロージョブテンプレートを説明するラベル (devtest など) を指定します。ラベルを使用して、表示内のワークフロージョブテンプレートと完了したジョブをグループ化およびフィルタリングします。
    • ラベルは、ワークフローテンプレートの追加時に作成されます。ラベルは、ワークフローテンプレートで提供されるプロジェクトを使用して、単一の組織に関連付けられます。組織のメンバーは、編集パーミッション (管理者ロールなど) を持っている場合、ジョブテンプレートにラベルを作成できます。
    • ジョブテンプレートを保存すると、ワークフロージョブテンプレートの Details ビューにラベルが表示されます。
    • ラベルはワークフローテンプレートにのみ適用され、ワークフローで使用されるジョブテンプレートノードには適用されません。
    • ラベルの横にある Disassociate を選択して削除します。ラベルが削除されると、そのラベルはその特定のジョブまたはジョブテンプレートとの関連付けが解除されますが、ラベルを参照する他のジョブには関連付けられたままになります。

    はい

    選択すると、デフォルト値が指定されている場合でも、必要に応じて起動時に追加のラベルを指定するように求められます。- 既存のラベルは削除できません。 Disassociate を選択すると、新たに追加されたラベルだけが削除され、既存のデフォルトラベルは削除されません。

    Variables

    • 追加のコマンドライン変数を Playbook に渡します。

    これは、Ansible ドキュメントの Controlling how Ansible behaves: precedence rules に記載されている ansible-playbook の "-e" または "-extra-vars" コマンドラインパラメーターです。- YAML または JSON を使用してキーまたは値のペアを指定します。これらの変数には優先順位の最大値があり、他の場所で指定された他の変数をオーバーライドします。git_branch: production release_version: 1.5 は、値の例です。

    はい

    スケジュールで extra_vars を指定できるようにするには、ジョブテンプレートの変数に対して Prompt on launch を選択するか、ジョブテンプレートで Survey を有効にする必要があります。回答された Survey の質問は extra_vars になります。追加変数の詳細は、追加変数 を参照してください。

    Job tags

    Create ドロップダウンを入力して選択し、Playbook のどの部分を実行するかを指定します。詳細と例は、Ansible ドキュメントの Tags を参照してください。

    はい

    Skip Tags

    Create ドロップダウンを入力して選択し、スキップする Playbook の特定のタスクまたは部分を指定します。詳細と例は、Ansible ドキュメントの Tags を参照してください。

    はい

  3. 必要に応じて、このテンプレートを起動するための次の Options を指定します。

    • ワークフロージョブテンプレートを起動するために使用する定義済みの SCM システム Web サービスと接続する機能をオンにするには、Enable Webhooks をオンにします。GitHub と GitLab がサポートされている SCM システムです。

      • Webhook を有効にすると、他のフィールドが表示され、以下の追加情報の入力を求められます。

        • Webhook Service: Webhook からリッスンするサービスを選択します
        • Webhook Credential : オプションで、Webhook サービスにステータス更新を送信するために使用する認証情報として GitHub または GitLab パーソナルアクセストークン (PAT) を指定します。詳細は、認証情報タイプ を参照して作成してください。
      • Save をクリックすると、追加のフィールドが入力され、ワークフロービジュアライザーが自動的に開きます。

        • Webhook URL: POST 要求を送信する Webhook サービスの URL が自動的に入力されます。
        • Webhook キー: Webhook サービスが automation controller に送信するペイロードに署名する際に使用するための、生成された共有シークレット。このサービスからの Webhook が Automation controller で受け入れられるように、Webhook サービスの設定で指定する必要があります。Webhook の設定の関連情報については、Webhook の使用 を参照してください。

          Enable Concurrent Jobs にチェックを入れて、このワークフローの同時実行を可能にします。詳細は、Automation controller の容量決定とジョブへの影響 を参照してください。

  4. ワークフローテンプレートの設定が完了したら、Save をクリックします。

テンプレートを保存すると、ワークフローテンプレートページが終了し、ワークフロービジュアライザーが開き、ワークフローを構築できるようになります。詳細は、ワークフロービジュアライザー セクションを参照してください。それ以外の場合は、次のいずれかの方法を選択します。

  • ワークフロービジュアライザーを閉じて、新しく保存したテンプレートの Details タブに戻ります。そこで次のタスクを実行できます。

    • パーミッション、通知、スケジュール、Survey を確認、編集、追加する
    • 完了したジョブの表示
    • ワークフローテンプレートを構築する
  • Launch をクリックしてワークフローを起動します。

    注記

    起動する前にテンプレートを保存しないと、Launch は無効のままになります。Notifications タブは、テンプレートを保存した後にのみ表示されます。

Template saved
Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.