Cloud Manager での外部リポジトリの追加 external-repositories

Cloud Manager に外部リポジトリを追加する方法について説明します。 Cloud Managerは、GitHub Enterprise Server、GitLab、Bitbucket、Azure DevOps リポジトリとの統合をサポートしています。

また、Azure DevOps Git リポジトリを Cloud Manager にオンボードできるようになりました。これは、最新の Azure DevOps リポジトリとレガシー VSTS(Visual Studio Team Services)リポジトリの両方に対応しています。

  • Edge Delivery Services のユーザーは、オンボードされたリポジトリを使用して、サイトコードを同期およびデプロイできます。
  • AEM as a Cloud Service および Adobe Managed Services(AMS)のユーザーは、リポジトリをフルスタックパイプラインとフロントエンドパイプラインの両方にリンクできます。
IMPORTANT
Cloud Managerは、リポジトリのホスト場所に応じて、次の2つの方法のいずれかでGitHub リポジトリの所有権を検証します。
  • この説明ページは、次のいずれかのリポジトリタイプを追加する場合に適用されます。 これらのタイプでは、PAT (個人アクセストークン)と手動で設定されたWebhookを使用して所有権を検証します。

    • GitHub Enterprise Server (GitHubのセルフホスティング版)リポジトリ。
    • GitLab (gitlab.comとGitLabのセルフホスティング版の両方)リポジトリ。
    • Bitbucket (のみbitbucket.org、クラウドバージョン) リポジトリ。 Bitbucketのセルフホスティング バージョンは、2024年2月15日(PT)をもって非推奨(廃止予定)となりました。
    • Azure DevOps (dev.azure.com) リポジトリ。
  • github.comでホストされているリポジトリでは、Adobe GitHub アプリを使用して所有権を検証します。 Cloud Managerはアプリを通じて直接統合されるため、Webhookの設定は必要ありません。 Cloud Managerでのプライベート GitHub リポジトリの追加を参照してください。

外部リポジトリの設定

Cloud Manager での外部リポジトリの設定は、次の手順で構成されます。

  1. 選択したプログラムに外部リポジトリを追加します。
  2. 検証済みの外部リポジトリをパイプラインにリンク ​
  3. 外部リポジトリに webhook を設定します。

外部リポジトリの追加 add-ext-repo

  1. my.cloudmanager.adobe.com で Cloud Manager にログインし、適切な組織を選択します。

  2. マイプログラム​コンソールで、外部リポジトリをリンクするプログラムを選択します。

  3. サイドメニューの​ プログラム ​で、 フォルダーアウトラインアイコン リポジトリ​をクリックします。

    リポジトリページ

  4. リポジトリ​ページの右上隅付近にある「リポジトリを追加」をクリックします。

  5. リポジトリを追加​ダイアログボックスで、外部の Git リポジトリをプログラムにリンクする「プライベートリポジトリ」を選択します。

    独自のリポジトリの追加

  6. 各フィールドに、リポジトリに関する次の詳細を入力します。

    table 0-row-2 1-row-2 2-row-2 3-row-2 4-row-2
    フィールド 説明
    リポジトリ名 必須。 新しいリポジトリのわかりやすい名前。
    リポジトリ URL 必須。 リポジトリの URL。

    GitHubでホストされたリポジトリを使用している場合、パスは.gitで終わる必要があります。
    例:https://github.com/org-name/repo-name.git (URL パスはイラスト用のみ)。

    外部リポジトリを使用している場合は、次のURL パス形式を使用する必要があります。
    https://git-vendor-name.com/org-name/repo-name.git
    または
    https://self-hosted-domain/org-name/repo-name.git
    Git ベンダーと一致します。
    リポジトリタイプを選択 必須。 使用するリポジトリタイプを選択します。 リポジトリ URL パスにGitLabやBitbucketなどのGit ベンダー名が含まれている場合、リポジトリタイプは事前に選択されています:

    * GitHub github.comのリポジトリの場合。 つまり、任意のGitHub プラン(Free、Pro、Team、Enterprise Cloud)については、Cloud Managerでプライベート GitHub リポジトリを追加を参照してください。
    * GitLab gitlab.comとGitLabのセルフホスティング版の両方。
    * Bitbucket​のみbitbucket.org、クラウドバージョン。 セルフホスト版のBitbucketは、2024年2月15日の時点で廃止されました。
    * Azure DevOpsdev.azure.com
    説明 オプション。 リポジトリの詳細な説明です。
  7. 保存」を選択して、リポジトリを追加します。

    外部リポジトリの所有権を検証するには、アクセストークンを指定します。

  8. プライベートリポジトリの所有権の検証 ダイアログボックスで、外部リポジトリの所有権を検証してアクセスできるようにするには、アクセストークンを指定し、検証​をクリックします。

    リポジトリの既存のアクセストークンの選択
    BitBucket リポジトリの既存のアクセストークンを選択します(説明のみを目的としています)。

GitHub Enterprise Server
table 0-row-2 1-row-2 2-row-2
「アクセストークン」オプション 説明
既存のアクセストークンを使用 組織にリポジトリアクセストークンを既に指定し、複数のリポジトリにアクセスできる場合は、既存のトークンを選択できます。 トークン名​ドロップダウンリストを使用して、リポジトリに適用するトークンを選択します。 それ以外の場合は、新しいアクセストークンを追加します。
新しいアクセストークンを追加
  • トークン名」テキストフィールドに、作成するアクセストークンの名前を入力します。

  • GitHub ドキュメントの指示に従って、個人アクセストークンを作成します。

  • GitHub Enterprise Server個人アクセストークン(PAT)に必要な権限
    これらの権限により、Cloud Managerがプルリクエストを検証し、コミットステータスチェックを管理し、必要なリポジトリの詳細にアクセスできるようになります。
    GitHub Enterprise ServerでPATを生成する場合は、次のリポジトリ権限が含まれていることを確認してください。

    • プルリクエスト(読み取りおよび書き込み)
    • コミットステータス(読み取りおよび書き込み)
    • リポジトリメタデータ(読み取り専用)
  • アクセストークン」フィールドに、作成したトークンをペーストします。

検証後、外部リポジトリを使用してパイプラインにリンクする準備が整います。

アクセストークンの管理も参照してください。

GitLab
table 0-row-2 1-row-2 2-row-2
「アクセストークン」オプション 説明
既存のアクセストークンを使用 組織にリポジトリアクセストークンを既に指定し、複数のリポジトリにアクセスできる場合は、既存のトークンを選択できます。 トークン名​ドロップダウンリストを使用して、リポジトリに適用するトークンを選択します。 それ以外の場合は、新しいアクセストークンを追加します。
新しいアクセストークンを追加
  • トークン名」テキストフィールドに、作成するアクセストークンの名前を入力します。

  • GitLab ドキュメントの指示に従って、個人アクセストークンを作成します。

  • GitLab 個人アクセストークン(PAT)に必須の権限
    これらのスコープにより、Cloud Manager で検証と webhook 統合の必要に応じてリポジトリデータとユーザー情報へのアクセスが可能になります。
    GitLab で PAT を生成する場合、次のトークンスコープが含まれていることを確認します。

    • api
    • read_user
  • アクセストークン」フィールドに、作成したトークンをペーストします。

検証後、外部リポジトリを使用してパイプラインにリンクする準備が整います。

アクセストークンの管理も参照してください。

Bitbucket
table 0-row-2 1-row-2 2-row-2
「アクセストークン」オプション 説明
既存のアクセストークンを使用 組織にリポジトリアクセストークンを既に指定し、複数のリポジトリにアクセスできる場合は、既存のトークンを選択できます。 トークン名​ドロップダウンリストを使用して、リポジトリに適用するトークンを選択します。 それ以外の場合は、新しいアクセストークンを追加します。
新しいアクセストークンを追加
  • トークン名」テキストフィールドに、作成するアクセストークンの名前を入力します。

  • Bitbucket ドキュメントを使用して、リポジトリアクセストークンを作成します。

  • Bitbucket リポジトリ アクセス トークンに必要な権限。
    これらの権限により、Cloud Managerはリポジトリ コンテンツへのアクセス、プル リクエストの管理、Webhook イベントの設定または操作を行うことができます。
    リポジトリ アクセス トークンをBitbucketで作成する場合は、次の必要な権限が含まれていることを確認してください。

    • リポジトリ(読み取り専用)
    • プルリクエスト(読み取りおよび書き込み)
    • webhook(読み取りおよび書き込み)
  • アクセストークン」フィールドに、作成したトークンをペーストします。

検証後、外部リポジトリを使用してパイプラインにリンクする準備が整います。

アクセストークンの管理も参照してください。

Azure DevOps
table 0-row-2 1-row-2 2-row-2
「アクセストークン」オプション 説明
既存のアクセストークンを使用 組織にリポジトリアクセストークンを既に指定し、複数のリポジトリにアクセスできる場合は、既存のトークンを選択できます。 トークン名​ドロップダウンリストを使用して、リポジトリに適用するトークンを選択します。 それ以外の場合は、新しいアクセストークンを追加します。
新しいアクセストークンを追加
  • トークン名」テキストフィールドに、作成するアクセストークンの名前を入力します。

  • Azure DevOps ドキュメントを使用して、リポジトリアクセストークンを作成します。

  • Azure DevOps Personal Access Token (PAT)に必要な権限。
    これらの権限により、Cloud Managerはリポジトリコンテンツへのアクセス、プルリクエストの管理、Webhook イベントの設定または操作を行うことができます。
    Azure DevOps でアプリパスワードを作成する場合は、次の必須のアプリパスワード権限が含まれていることを確認します。

    • コード(読み取り)
    • コード(ステータス)
    • プルリクエストスレッド(読み取りおよび書き込み)
  • アクセストークン」フィールドに、作成したトークンをペーストします。

検証後、外部リポジトリを使用してパイプラインにリンクする準備が整います。

アクセストークンの管理も参照してください。

検証済みの外部リポジトリのパイプラインへのリンク validate-ext-repo

  1. 次のように、パイプラインを追加または編集します。

    パイプラインのソースコードリポジトリと Git 分岐
    選択したリポジトリと Git 分岐を含む実稼動以外のパイプラインを追加ダイアログボックス。

  2. パイプラインの追加または編集時に、新しいパイプラインまたは既存のパイプラインの​ ソースコード ​の場所を指定するには、リポジトリ​ドロップダウンリストから使用する外部リポジトリを選択します。

  3. Git 分岐​ドロップダウンリストで、パイプラインのソースとして分岐を選択します。

  4. 保存」をクリックします。

TIP
Cloud Manager でのリポジトリ管理について詳しくは、Cloud Manager リポジトリを参照してください。

外部リポジトリの webhook の設定 configure-webhook

Cloud Manager では、追加した外部 Git リポジトリの webhook を設定できます。 詳しくは、外部リポジトリの追加を参照してください。 これらの webhook により、Cloud Manager は Git ベンダーソリューション内の様々なアクションに関連するイベントを受信できます。

例えば、webhook を使用すると、Cloud Manager は次のようなイベントに基づいてアクションをトリガーできます。

  • プルリクエスト(PR)の作成 - PR 検証機能を開始します。
  • プッシュイベント -「Git コミット時」トリガーがオン(有効)になると、パイプラインを開始します。
  • 今後のコメントベースのアクション - PR から高速開発環境(RDE)への直接デプロイメントなどのワークフローを可能にします。

Cloud Manager は GitHub アプリを通じて直接統合されるので、github.com でホストされているリポジトリでは webhook 設定は必要ありません。

GitHub Enterprise Server、GitLab、Bitbucket、Azure DevOpsなど、アクセストークンを使用してオンボーディングされるその他すべての外部リポジトリでは、Webhook設定が可能であり、手動で設定する必要があります。

外部リポジトリの webhook を設定するには:

  1. my.cloudmanager.adobe.com で Cloud Manager にログインし、適切な組織を選択します。

  2. マイプログラム​コンソールで、外部 Git リポジトリの webhook を設定するプログラムを選択します。

  3. ページの左上隅にある「 ​ メニューアイコンを表示 」をクリックして、左側のメニューを表示します。

  4. 左側のサイドメニューの​ プログラム ​見出しで、 フォルダーアウトラインアイコ リポジトリ​をクリックします。

  5. リポジトリ ページで、タイプ​列を使用して選択を支援し、目的のリポジトリを見つけ、その横にある 省略記号 – 詳細アイコン ​ をクリックします。

    ​ 選択したリポジトリのドロップダウンメニューの「Webhook を設定」オプション

  6. ドロップダウンメニューから、「Webhook を設定」をクリックします。

    Webhook を設定ダイアログボックス

  7. Webhook を設定​ダイアログボックスで、次の操作を行います。

    1. Webhook URL フィールドの横にある ​ コピーアイコン ​ をクリックします。
      プレーンテキストファイルにURLを貼り付けます。コピーしたURLは、Git ベンダーのWebhook設定に必要です。
    2. Webhook Secret トークン/キーフィールドの横にある​ Generate ​をクリックし、 ​ コピーアイコン ​ をクリックします。
      プレーンテキストファイルに秘密鍵を貼り付けます。コピーされた秘密鍵は、Git ベンダーのWebhook設定に必要です。
  8. 閉じる」をクリックします。

  9. Git ベンダーソリューション(GitHub Enterprise Server、GitLab、Bitbucket、またはAzure DevOps)に移動します。

    各ベンダーに必要な web フック設定とイベントについて詳しくは、外部リポジトリの追加を参照してください。 手順 8 のタブ付きの表を参照してください。

  10. ソリューションの webhook 設定セクションを見つけます。

  11. 前の手順でコピーした webhook URL を「URL」テキストフィールドにペーストします。

    1. Webhook URL の api_key クエリパラメーターを独自の実際の API キーに置き換えます。

      API キーを生成するには、Adobe Developer Console で統合プロジェクトを作成する必要があります。 詳しくは、API 統合プロジェクトの作成を参照してください。

  12. 前の手順でコピーした webhook 秘密鍵を「秘密鍵」(または「秘密鍵」、あるいは「秘密鍵トークン」)テキストフィールドにペーストします。

  13. Cloud Managerに必要なイベントを送信するには、Webhookを設定します。 次の表を使用して、Git プロバイダーの正しいイベントを決定します。

GitHub Enterprise Server
table 0-row-1 1-row-1
必須の web フックイベント

これらのイベントにより、Cloud Manager でプルリクエストの検証、パイプラインのプッシュベースのトリガー、Edge Delivery Services のコード同期などの GitHub アクティビティに応答できます。
次の必須の webhook イベントで webhook がトリガーするように設定されていることを確認します。

  • プルリクエスト
  • プッシュ
  • コメントを発行
GitLab
table 0-row-1 1-row-1
必須の web フックイベント

これらの webhook イベントにより、コードをプッシュした際や結合リクエストを送信した際に、Cloud Manager でパイプラインをトリガーできます。 また、プルリクエストの検証に関連するコメントも(メモイベントを通じて)追跡します。
次の必須Webhook イベントで、Webhookがトリガーするように設定されていることを確認します

  • プッシュイベント
  • 結合リクエストイベント
  • メモイベント
Bitbucket
table 0-row-1 1-row-1
必須の web フックイベント

これらのイベントにより、Cloud Manager でプルリクエストの検証、コードプッシュへの応答、パイプライン調整用のコメントでのやり取りが可能になります。
次の必須の webhook イベントで webhook がトリガーするように設定されていることを確認します。

  • プルリクエスト:作成済み
  • プルリクエスト:更新済み
  • プルリクエスト:結合済み
  • プルリクエスト:コメント
  • リポジトリ:プッシュ
Azure DevOps
table 0-row-1 1-row-1
必須の Webhook イベントと認証

これらのイベントにより、Cloud Manager でプルリクエストの検証、コードプッシュへの応答、パイプライン調整用のコメントでのやり取りが可能になります。
次の必須の webhook イベントで webhook がトリガーするように設定されていることを確認します。

  • プッシュ済みコード
  • コメント済みプルリクエスト
  • 作成済みプルリクエスト
  • 更新済みプルリクエスト

認証の設定:
1。 基本認証ユーザー名 フィールドに、cloudmanager.
2と入力します。 「基本認証パスワード」フィールドに、Cloud Manager ユーザーインターフェイスから生成された Webhook シークレットを入力します。

Webhook を使用したプルリクエストの検証

Webhook を正しく設定すると、Cloud Manager ではリポジトリに対するパイプライン実行または PR 検証チェックを自動的にトリガーします。

以下に示すように、動作は使用する Git プロバイダーによって異なります。

GitHub Enterprise Server

チェックが作成されると、次のスクリーンショットに示すように表示されます。 GitHub.comとの主な違いは、GitHub.comがチェック実行を使用するのに対し、GitHub Enterprise Server (個人アクセストークンを使用)は次のコミット ステータスを生成することです。

GitHub Enterprise Server でのPR検証プロセスを示すコミット ステータス

GitLab

GitLabのインタラクションはコメントのみに依存します。 検証を開始すると、コメントが追加されます。 検証が完了すると(成功または失敗に関係なく)、最初のコメントは削除され、検証結果やエラーの詳細を含む新しいコメントに置き換えられます。

コード品質検証が実行中の場合:

コード品質検証が実行中の場合

コード品質検証が終了した場合:

コード品質検証が終了した場合

コード品質検証がエラーで失敗した場合:

コード品質検証がエラーで失敗した場合

コード品質検証が顧客の問題により失敗した場合:

コード品質検証が顧客の問題により失敗した場合

Bitbucket

コード品質検証が実行中の場合:

コード品質検証が実行中のステータス

PR 検証の進行状況のトラッキングにコミットステータスを使用します。 次の場合、スクリーンショットは、コード品質検証がお客様の問題により失敗した場合の動作を示しています。 詳細なエラー情報を含むコメントが追加され、失敗を示すコミットチェックが作成されます(右側に表示)。

Bitbucket のプルリクエスト検証ステータス

Azure DevOps

Azure DevOps は、ステータスチェックを通じてプルリクエストの検証を追跡します。 Cloud Manager がプルリクエストの検証を実行すると、Azure DevOps プルリクエストインターフェイスに表示されるステータスチェックが追加されます。

コード品質の検証中、ステータスチェックにより、プロセスが処理中であることが示されます。

Azure DevOps による webhook を使用したプルリクエストの検証 - 1

コード品質の検証が完了すると、ステータスチェックが更新され、結果が反映されます。

Azure DevOps による webhook を使用したプルリクエストの検証 - 2

検証が失敗した場合、ステータスチェックの詳細に詳細なエラー情報が表示されます。 ステータスチェックをクリックすると、Cloud Manager で完全な検証結果を表示できます。

Azure DevOps による webhook を使用したプルリクエストの検証 - 3

プルリクエストのコメントとフィードバックについては、Cloud Manager は検証の詳細と必要なアクションを含むコメントを Azure DevOps のプルリクエストに直接追加します。

Azure DevOps による webhook を使用したプルリクエストの検証 - 4

Web フックの問題のトラブルシューティング

  • Web フック URL に有効な API キーが含まれていることを確認します。
  • Git ベンダー設定で web フックイベントが正しく設定されていることを確認します。
  • PR 検証またはパイプライントリガーが機能しない場合は、Cloud Manager と Git ベンダーの両方で web フックの秘密鍵が最新であることを確認します。
recommendation-more-help
experience-manager-cloud-service-help-main-toc