第11章 プロジェクト


プロジェクトとは、Automation Controller にある Ansible Playbook の論理的コレクションのことです。Playbook と Playbook ディレクトリーはさまざまな方法で管理できます。

  • Automation Controller サーバー上にあるプロジェクトのベースパスの下にこれらを手動で配置します。
  • Playbook を Automation Controller でサポートされているソースコード管理 (SCM) システムに配置します。これらには、Git、Subversion、Mercurial、Red Hat Insights が含まれます。

Red Hat Insights プロジェクトの作成の詳細は、Red Hat Ansible Automation Platform 修復のための Red Hat Insights のセットアップ を参照してください。

注記

プロジェクトのベースパスは /var/lib/awx/projects です。ただし、これはシステム管理者が変更できます。これは /etc/tower/conf.d/custom.py で設定されます。

設定を誤るとインストールが無効になる可能性があるため、このファイルを編集する場合は注意してください。

プロジェクトページには、現在利用可能なプロジェクトのリストが表示されます。

最初に使用できる Demo Project が用意されています。

デフォルトビューは、折りたたまれており (Compact)、プロジェクト名とステータスが表示されていますが、各エントリーの横にある Arrow を使用して展開すると、詳細情報を表示できます。

リストされているプロジェクトごとに、各プロジェクトの横にあるアイコンを使用して、最新の SCM リビジョン Refresh を取得し、プロジェクトの属性を編集 Edit して、コピー Copy します。

プロジェクトは、関連ジョブの実行中に更新できます。

大規模なプロジェクト (約 10 GB) がある場合、/tmp のディスク領域が問題になる可能性があります。

ステータス はプロジェクトの状態を示し、以下のいずれかになる可能性があります (特定のステータスタイプでビューをフィルターできることにも留意してください)。

  • Pending - ソースコントロールの更新は作成されましたが、まだキューに入れられていない、または開始されていません。ジョブ (ソースコントロールの更新だけでなく) は、システムで実行できる状態になるまで保留状態になります。準備ができていない理由としては次のことが考えられます。

    • 現在実行中の依存関係があるため、完了するまで待つ必要があります。
    • 設定されている場所で実行するのに十分な容量がありません。
  • Waiting - ソースコントロールの更新はキューに入れられており、実行を待機中です。
  • Running - ソースコントロールの更新が進行中です。
  • 成功 - このプロジェクトの最後のソースコントロールの更新が成功しました。
  • Failed - このプロジェクトの最後のソースコントロールの更新が失敗しました。
  • Error - 最後のソースコントロール更新ジョブは実行にまったく失敗しました。
  • 取り消し - このプロジェクトの最後のソースコントロールの更新が取り消されました。
  • 未更新 - このプロジェクトはソースコントロール用に設定されていますが、更新されていません。
  • OK - プロジェクトはソースコントロール用に設定されておらず、正しく配置されています。
  • Missing - /var/lib/awx/projects のプロジェクトベースパスにプロジェクトがありません。これは、手動またはソースコントロール管理プロジェクトに適用されます。
注記

認証情報タイプが 手動 のプロジェクトでは、SCM タイプの認証情報として再設定されない限りソースコントロールベースのアクションを更新したり、スケジュールしたりすることはできません。

11.1. 新しいプロジェクトの追加

Automation Controller では、プロジェクトと呼ばれる Playbook の論理コレクションを作成できます。

手順

  1. ナビゲーションパネルから、Automation Execution Projects を選択します。
  2. Projects ページで、Create project をクリックして、Create Project ウィンドウを起動します。
  3. 以下の必須フィールドに適切な情報を入力します。

    • Name (必須)
    • オプション: Description
    • Organization (必須): プロジェクトには少なくとも 1 つの組織が必要です。ここで組織を 1 つ選択してプロジェクトを作成します。プロジェクトの作成時に、組織を追加できます。
    • オプション: Execution environment: このプロジェクトを実行するための実行環境の名前を入力するか、既存の環境のリストから検索します。詳細は、実行環境の作成と使用 を参照してください。
    • Source control type (必須): このプロジェクトに関連付けられた SCM タイプをメニューから選択します。選択したタイプに応じて、次のセクションのオプションが使用可能になります。詳細は、Playbook の手動管理 または ソースコントロールを使用した Playbook の管理 を参照してください。
    • オプション: Content signature validation credential: このフィールドを使用して、コンテンツ検証を有効にします。プロジェクトの同期中にコンテンツの署名を検証するために使用する GPG キーを指定します。コンテンツが改ざんされている場合、ジョブは実行されません。詳細は、プロジェクトの署名と検証 を参照してください。
  4. Create project をクリックします。

関連情報

以下に、プロジェクトの調達方法を説明します。

11.1.1. Playbook の手動管理

手順

  • Playbook を保管する 1 つ以上のディレクトリーをプロジェクトのベースパス (例: /var/lib/awx/projects/) に作成します。
  • Playbook ファイルを作成し、これを Playbook ディレクトリーにコピーします。
  • Playbook ディレクトリーおよびファイルが、サービスを実行するのと同じ UNIX ユーザーおよびグループで所有されていることを確認します。
  • パーミッションが Playbook ディレクトリーおよびファイルについて適切であることを確認します。

トラブルシューティング

  • ベースプロジェクトパスに Ansible Playbook ディレクトリーを追加していない場合は、エラーメッセージが表示されます。次のいずれかの方法を選択し、このエラーをトラブルシューティングしてください。

    • 適切な Playbook ディレクトリーを作成し、(ソースコード管理) SCM から Playbook をチェックアウトします。
    • Playbook を適切な Playbook ディレクトリーにコピーします。

11.1.2. ソースコントロールを使用した Playbook の管理

ソースコントロールを使用して Playbook を管理する場合は、次のいずれかの方法を選択します。

11.1.2.1. SCM タイプ - Git と Subversion を使用するための Playbook の設定

手順

  1. ナビゲーションパネルから、Automation Execution Projects を選択します。
  2. 使用するプロジェクト名をクリックします。
  3. プロジェクトの Details タブで、Edit project をクリックします。
  4. Source control type メニューから適切なオプション (Git または Subversion) を選択します。
  5. 以下のフィールドに該当する詳細を入力します。

    • Source control URL - ツールチップの例を参照してください。
    • オプション: Source control branch/tag/commit: チェックアウトするソースコントロール (Git または Subversion) からの SCM ブランチ、タグ、コミットハッシュ、任意の参照、またはリビジョン番号 (該当する場合) を入力します。次のフィールドにカスタム refspec も指定しない限り、一部のコミットハッシュと参照は使用できない場合があります。空白のままにした場合、デフォルトは HEAD です。これは、このプロジェクトで最後にチェックアウトされたブランチ、タグ、またはコミットのことです。
    • Source control refspec - このフィールドは、git ソースコントロール専用のオプションです。git の知識があり、問題なく使用できる上級ユーザーである場合にのみ、リモートリポジトリーからダウンロードする参照を指定してください。詳細は、ジョブブランチのオーバーライド を参照してください。
    • Source control credential - 認証が必要な場合は、適切なソースコントロール認証情報を選択します。
  6. オプション: Options - 該当する場合、起動動作を選択します。

    • Clean - 更新を実行する前にローカルの変更を削除します。
    • Delete - 更新を実行する前に、ローカルリポジトリー全体を削除します。リポジトリーのサイズにより、更新の完了までに必要な時間が大幅に長くなる可能性があります。
    • Track submodules - 最新のコミットを追跡します。ツールチップに、詳細情報があります Tooltip
    • Update revision on launch - プロジェクトのリビジョンをリモートソースコントロールの現在のリビジョンに更新し、Ansible Galaxy サポート または コレクションサポート からロールディレクトリーをキャッシュします。Automation Controller は、ローカルリビジョンが一致し、ロールとコレクションが最終更新で最新であることを確認します。さらに、プロジェクトが同期できるよりも早くジョブが生成された場合にジョブのオーバーフローを回避するために、これを選択すると、以前のプロジェクトの同期を指定した秒数キャッシュするようにキャッシュタイムアウトを設定できます。
    • Allow branch override - このプロジェクトを使用するジョブテンプレートまたはインベントリーソースが、プロジェクト以外の指定された SCM ブランチまたはリビジョンで起動できるようにします。詳細は、ジョブブランチのオーバーライド を参照してください。
  7. Save project をクリックします。

11.1.2.2. SCM タイプ - Red Hat Insights を使用するための Playbook の設定

手順

  1. ナビゲーションパネルから、Automation Execution Projects を選択します。
  2. 使用するプロジェクト名をクリックします。
  3. プロジェクトの Details タブで、Edit project をクリックします。
  4. Source Control Type メニューから Red Hat Insights を選択します。
  5. Red Hat Insights では認証に認証情報が必要です。Insight で使用する適切な認証情報を Insights credential フィールドで選択します。
  6. オプション: 該当する場合、Options フィールドで起動動作を選択します。

    • Clean - 更新を実行する前にローカルの変更を削除します。
    • Delete - 更新を実行する前に、ローカルリポジトリー全体を削除します。リポジトリーのサイズにより、更新の完了までに必要な時間が大幅に長くなる可能性があります。
    • Update revision on launch - プロジェクトのリビジョンをリモートソースコントロールの現在のリビジョンに更新し、Ansible Galaxy サポート または コレクションサポート からロールディレクトリーをキャッシュします。Automation Controller は、ローカルリビジョンが一致し、ロールとコレクションが最新であることを保証します。さらに、プロジェクトが同期できるよりも早くジョブが生成された場合に、これを選択すると、以前のプロジェクトの同期を指定した秒数キャッシュするようにキャッシュタイムアウトを設定できます。
  7. Save project をクリックします。

11.1.2.3. SCM タイプ - リモートアーカイブを使用するための Playbook の設定

リモートアーカイブを使用する Playbook により、バージョン付けされたアーティファクトを生成するビルドプロセスまたはリリースに基づいてプロジェクトを提供することができます。これには、単一のアーカイブ内のそのプロジェクトのすべての要件が含まれます。

手順

  1. ナビゲーションパネルから、Automation Execution Projects を選択します。
  2. 使用するプロジェクト名をクリックします。
  3. プロジェクトの Details タブで、Edit project をクリックします。
  4. Source control type メニューから Remote Archive を選択します。
  5. 以下のフィールドに該当する詳細を入力します。

    • Source control URL - GitHub ReleaseArtifactory に保存されているビルドアーティファクトなど、リモートアーカイブへの URL を要求し、それを使用するためにプロジェクトパスに展開します。
    • Source control credential - 認証が必要な場合は、適切なソースコントロール認証情報を選択します。
  6. オプション: 該当する場合、Options フィールドで起動動作を選択します。

    • Clean - 更新を実行する前にローカルの変更を削除します。
    • Delete - 更新を実行する前に、ローカルリポジトリー全体を削除します。リポジトリーのサイズにより、更新の完了までに必要な時間が大幅に長くなる可能性があります。
    • Update revision on launch - 推奨されません。このオプションは、プロジェクトのリビジョンをリモートソースコントロールの現在のリビジョンに更新し、Ansible Galaxy サポート または コレクションサポート からのロールディレクトリーをキャッシュします。
    • Allow branch override - 推奨されません。このオプションを使用すると、このプロジェクトを使用するジョブテンプレートが、指定された SCM ブランチまたはプロジェクト以外のリビジョンで起動できるようになります。

      注記

      このソースコントロールタイプは、不変のアーティファクトという概念のサポートを目的としているため、(少なくともロールに対して) Galaxy 統合を無効にすることを推奨します。

  7. Save project をクリックします。
Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

© 2024 Red Hat, Inc.