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)のユーザーは、リポジトリをフルスタックパイプラインとフロントエンドパイプラインの両方にリンクできます。
-
この説明ページは、次のいずれかのリポジトリタイプを追加する場合に適用されます。 これらのタイプでは、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 での外部リポジトリの設定は、次の手順で構成されます。
- 選択したプログラムに外部リポジトリを追加します。
- 検証済みの外部リポジトリをパイプラインにリンク 。
- 外部リポジトリに webhook を設定します。
外部リポジトリの追加 add-ext-repo
-
my.cloudmanager.adobe.com で Cloud Manager にログインし、適切な組織を選択します。
-
マイプログラムコンソールで、外部リポジトリをリンクするプログラムを選択します。
-
サイドメニューの プログラム で、
リポジトリをクリックします。
-
リポジトリページの右上隅付近にある「リポジトリを追加」をクリックします。
-
リポジトリを追加ダイアログボックスで、外部の Git リポジトリをプログラムにリンクする「プライベートリポジトリ」を選択します。
-
各フィールドに、リポジトリに関する次の詳細を入力します。
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 ベンダー名が含まれている場合、リポジトリタイプは事前に選択されています:
* GitHubgithub.comのリポジトリの場合。 つまり、任意のGitHub プラン(Free、Pro、Team、Enterprise Cloud)については、Cloud Managerでプライベート GitHub リポジトリを追加を参照してください。
* GitLabgitlab.comとGitLabのセルフホスティング版の両方。
* Bitbucketのみbitbucket.org、クラウドバージョン。 セルフホスト版のBitbucketは、2024年2月15日の時点で廃止されました。
* Azure DevOps (dev.azure.com)説明 オプション。 リポジトリの詳細な説明です。 -
「保存」を選択して、リポジトリを追加します。
外部リポジトリの所有権を検証するには、アクセストークンを指定します。
-
プライベートリポジトリの所有権の検証 ダイアログボックスで、外部リポジトリの所有権を検証してアクセスできるようにするには、アクセストークンを指定し、検証をクリックします。
BitBucket リポジトリの既存のアクセストークンを選択します(説明のみを目的としています)。
| table 0-row-2 1-row-2 2-row-2 | |
|---|---|
| 「アクセストークン」オプション | 説明 |
| 既存のアクセストークンを使用 | 組織にリポジトリアクセストークンを既に指定し、複数のリポジトリにアクセスできる場合は、既存のトークンを選択できます。 トークン名ドロップダウンリストを使用して、リポジトリに適用するトークンを選択します。 それ以外の場合は、新しいアクセストークンを追加します。 |
| 新しいアクセストークンを追加 |
|
検証後、外部リポジトリを使用してパイプラインにリンクする準備が整います。
アクセストークンの管理も参照してください。
| table 0-row-2 1-row-2 2-row-2 | |
|---|---|
| 「アクセストークン」オプション | 説明 |
| 既存のアクセストークンを使用 | 組織にリポジトリアクセストークンを既に指定し、複数のリポジトリにアクセスできる場合は、既存のトークンを選択できます。 トークン名ドロップダウンリストを使用して、リポジトリに適用するトークンを選択します。 それ以外の場合は、新しいアクセストークンを追加します。 |
| 新しいアクセストークンを追加 |
|
検証後、外部リポジトリを使用してパイプラインにリンクする準備が整います。
アクセストークンの管理も参照してください。
| table 0-row-2 1-row-2 2-row-2 | |
|---|---|
| 「アクセストークン」オプション | 説明 |
| 既存のアクセストークンを使用 | 組織にリポジトリアクセストークンを既に指定し、複数のリポジトリにアクセスできる場合は、既存のトークンを選択できます。 トークン名ドロップダウンリストを使用して、リポジトリに適用するトークンを選択します。 それ以外の場合は、新しいアクセストークンを追加します。 |
| 新しいアクセストークンを追加 |
|
検証後、外部リポジトリを使用してパイプラインにリンクする準備が整います。
アクセストークンの管理も参照してください。
| table 0-row-2 1-row-2 2-row-2 | |
|---|---|
| 「アクセストークン」オプション | 説明 |
| 既存のアクセストークンを使用 | 組織にリポジトリアクセストークンを既に指定し、複数のリポジトリにアクセスできる場合は、既存のトークンを選択できます。 トークン名ドロップダウンリストを使用して、リポジトリに適用するトークンを選択します。 それ以外の場合は、新しいアクセストークンを追加します。 |
| 新しいアクセストークンを追加 |
|
検証後、外部リポジトリを使用してパイプラインにリンクする準備が整います。
アクセストークンの管理も参照してください。
検証済みの外部リポジトリのパイプラインへのリンク validate-ext-repo
-
次のように、パイプラインを追加または編集します。
選択したリポジトリと Git 分岐を含む実稼動以外のパイプラインを追加ダイアログボックス。 -
パイプラインの追加または編集時に、新しいパイプラインまたは既存のパイプラインの ソースコード の場所を指定するには、リポジトリドロップダウンリストから使用する外部リポジトリを選択します。
-
Git 分岐ドロップダウンリストで、パイプラインのソースとして分岐を選択します。
-
「保存」をクリックします。
外部リポジトリの 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 を設定するには:
-
my.cloudmanager.adobe.com で Cloud Manager にログインし、適切な組織を選択します。
-
マイプログラムコンソールで、外部 Git リポジトリの webhook を設定するプログラムを選択します。
-
ページの左上隅にある「
」をクリックして、左側のメニューを表示します。 -
左側のサイドメニューの プログラム 見出しで、
リポジトリをクリックします。 -
リポジトリ ページで、タイプ列を使用して選択を支援し、目的のリポジトリを見つけ、その横にある
をクリックします。
-
ドロップダウンメニューから、「Webhook を設定」をクリックします。
-
Webhook を設定ダイアログボックスで、次の操作を行います。
- Webhook URL フィールドの横にある
をクリックします。
プレーンテキストファイルにURLを貼り付けます。コピーしたURLは、Git ベンダーのWebhook設定に必要です。 - Webhook Secret トークン/キーフィールドの横にある Generate をクリックし、
をクリックします。
プレーンテキストファイルに秘密鍵を貼り付けます。コピーされた秘密鍵は、Git ベンダーのWebhook設定に必要です。
- Webhook URL フィールドの横にある
-
「閉じる」をクリックします。
-
Git ベンダーソリューション(GitHub Enterprise Server、GitLab、Bitbucket、またはAzure DevOps)に移動します。
各ベンダーに必要な web フック設定とイベントについて詳しくは、外部リポジトリの追加を参照してください。 手順 8 のタブ付きの表を参照してください。
-
ソリューションの webhook 設定セクションを見つけます。
-
前の手順でコピーした webhook URL を「URL」テキストフィールドにペーストします。
-
Webhook URL の
api_keyクエリパラメーターを独自の実際の API キーに置き換えます。API キーを生成するには、Adobe Developer Console で統合プロジェクトを作成する必要があります。 詳しくは、API 統合プロジェクトの作成を参照してください。
-
-
前の手順でコピーした webhook 秘密鍵を「秘密鍵」(または「秘密鍵」、あるいは「秘密鍵トークン」)テキストフィールドにペーストします。
-
Cloud Managerに必要なイベントを送信するには、Webhookを設定します。 次の表を使用して、Git プロバイダーの正しいイベントを決定します。
| table 0-row-1 1-row-1 |
|---|
| 必須の web フックイベント |
|
これらのイベントにより、Cloud Manager でプルリクエストの検証、パイプラインのプッシュベースのトリガー、Edge Delivery Services のコード同期などの GitHub アクティビティに応答できます。
|
| table 0-row-1 1-row-1 |
|---|
| 必須の web フックイベント |
|
これらの webhook イベントにより、コードをプッシュした際や結合リクエストを送信した際に、Cloud Manager でパイプラインをトリガーできます。 また、プルリクエストの検証に関連するコメントも(メモイベントを通じて)追跡します。
|
| table 0-row-1 1-row-1 |
|---|
| 必須の web フックイベント |
|
これらのイベントにより、Cloud Manager でプルリクエストの検証、コードプッシュへの応答、パイプライン調整用のコメントでのやり取りが可能になります。
|
| table 0-row-1 1-row-1 |
|---|
| 必須の Webhook イベントと認証 |
|
これらのイベントにより、Cloud Manager でプルリクエストの検証、コードプッシュへの応答、パイプライン調整用のコメントでのやり取りが可能になります。
認証の設定: |
Webhook を使用したプルリクエストの検証
Webhook を正しく設定すると、Cloud Manager ではリポジトリに対するパイプライン実行または PR 検証チェックを自動的にトリガーします。
以下に示すように、動作は使用する Git プロバイダーによって異なります。
チェックが作成されると、次のスクリーンショットに示すように表示されます。 GitHub.comとの主な違いは、GitHub.comがチェック実行を使用するのに対し、GitHub Enterprise Server (個人アクセストークンを使用)は次のコミット ステータスを生成することです。
GitLabのインタラクションはコメントのみに依存します。 検証を開始すると、コメントが追加されます。 検証が完了すると(成功または失敗に関係なく)、最初のコメントは削除され、検証結果やエラーの詳細を含む新しいコメントに置き換えられます。
コード品質検証が実行中の場合:
コード品質検証が終了した場合:
コード品質検証がエラーで失敗した場合:
コード品質検証が顧客の問題により失敗した場合:
コード品質検証が実行中の場合:
PR 検証の進行状況のトラッキングにコミットステータスを使用します。 次の場合、スクリーンショットは、コード品質検証がお客様の問題により失敗した場合の動作を示しています。 詳細なエラー情報を含むコメントが追加され、失敗を示すコミットチェックが作成されます(右側に表示)。
Azure DevOps は、ステータスチェックを通じてプルリクエストの検証を追跡します。 Cloud Manager がプルリクエストの検証を実行すると、Azure DevOps プルリクエストインターフェイスに表示されるステータスチェックが追加されます。
コード品質の検証中、ステータスチェックにより、プロセスが処理中であることが示されます。
コード品質の検証が完了すると、ステータスチェックが更新され、結果が反映されます。
検証が失敗した場合、ステータスチェックの詳細に詳細なエラー情報が表示されます。 ステータスチェックをクリックすると、Cloud Manager で完全な検証結果を表示できます。
プルリクエストのコメントとフィードバックについては、Cloud Manager は検証の詳細と必要なアクションを含むコメントを Azure DevOps のプルリクエストに直接追加します。
Web フックの問題のトラブルシューティング
- Web フック URL に有効な API キーが含まれていることを確認します。
- Git ベンダー設定で web フックイベントが正しく設定されていることを確認します。
- PR 検証またはパイプライントリガーが機能しない場合は、Cloud Manager と Git ベンダーの両方で web フックの秘密鍵が最新であることを確認します。