検索

第16章 プロジェクト

download PDF

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

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

Red Hat Insights プロジェクトの作成の詳細は、Insights 修復の設定 を参照してください。

注記

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

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

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

Automation controller は、最初に作業できる デモプロジェクト を提供します。

Projects - home

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

Projects - expanded

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

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

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

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

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

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

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

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

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

手順

  1. ナビゲーションパネルから、Resources Projects を選択します。
  2. Projects ページで Add をクリックして Create Project ウィンドウを起動します。

    Projects- create new project

  3. 以下の必須フィールドに適切な情報を入力します。

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

関連情報

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

16.1.1. Playbook の手動管理

手順

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

トラブルシューティング

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

    • 適切な Playbook ディレクトリーを作成し、SCM (スペルを入力してください*) から Playbook をチェックアウトします。
    • Playbook を適切な Playbook ディレクトリーにコピーします。

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

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

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

手順

  1. プロジェクトの Details タブで、SCM Type メニューから適切なオプション (Git または Subversion) を選択します。

    Select scm

  2. 以下のフィールドに該当する詳細を入力します。

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

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

      Override options

  4. Save をクリックしてプロジェクトを保存します。
ヒント

GitHub リンクを使用すると、Playbook を簡単に使用できます。開始するには、ここ で入手可能な helloworld.yml ファイルを使用してください。

このリンクから、Automation Controller ユーザーガイド の手順に従って手動で作成した Playbook と非常によく似た Playbook を入手できます。これを使用してもシステムが変更されたり、問題が発生することはありません。

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

手順

  1. プロジェクトの Details ページで、SCM Type メニューから Red Hat Insights を選択します。
  2. Red Hat Insights では、認証に認証情報が必要です。Red Hat Insights で使用できるように、Credential フィールドから適切な認証情報を選択します。
  3. オプション: SCM Update Options フィールドで、該当する場合、起動動作を選択します。

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

      SCM insights

  4. Save をクリックします。

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

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

手順

  1. プロジェクトの Details ページで、SCM Type メニューから Remote Archive を選択します。
  2. 以下のフィールドに該当する詳細を入力します。

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

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

      Remote archived project

      注記

      この SCM タイプは、アーティファクトの変更のない概念をサポートすることが意図されているため、(少なくてもロールに対して) Galaxy 統合を無効にすることが推奨されます。

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

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

© 2024 Red Hat, Inc.