[プライベートベータ版]{class="badge positive"}

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

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

NOTE
この記事で説明する機能は、非公開のベータ版プログラムでのみ使用できます。 詳細およびプライベートベータ版にサインアップするには、 独自の Git の取り込みを参照してください。

外部リポジトリの設定

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

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

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

NOTE
外部リポジトリは、設定パイプラインにリンクできません。
  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 ベンダーと一致させる必要があります。
    リポジトリタイプを選択

    必須。使用するリポジトリタイプを選択します。

    • GitHub(GitHub Enterprise と自己ホスト型バージョンの GitHub)
    • GitLabgitlab.com と自己ホスト型バージョンの GitLab の両方)
    • Bitbucketbitbucket.org(クラウドバージョン)のみがサポートされています。Bitbucket の自己ホスト型バージョンは、2024年2月15日(PT)以降に非推奨(廃止予定)になりました。)

    上記のリポジトリ URL パスに GitLab や Bitbucket などの Git ベンダー名が含まれている場合、リポジトリタイプは既に事前に選択されています。

    説明 オプション。リポジトリの詳細な説明です。
  7. 保存」を選択して、リポジトリを追加します。

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

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

    リポジトリの既存のアクセストークンの選択
    Bitbucket リポジトリ用の既存のアクセストークンの選択(説明用のみ)

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

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

  • GitHub Enterprise 個人アクセストークン(PAT)に必須の権限
    これらの権限により、Cloud Manager でプルリクエストの検証、コミットステータスチェックの管理、必要なリポジトリ詳細へのアクセスが可能になります。
    GitHub Enterprise で 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 個人アクセストークン(PAT)に必須の権限
    これらの権限により、Cloud Manager でリポジトリコンテンツへのアクセス、プルリクエストの管理、webhook イベントの構成または反応が可能になります。
    Bitbucket でアプリパスワードを作成する場合は、次の必須のアプリパスワード権限が含まれていることを確認します。

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

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

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

検証済みの外部リポジトリのパイプラインへのリンク 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、GitLab、Bitbucket など、アクセストークンを使用してオンボードされる他のすべての外部リポジトリでは、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 秘密鍵 ​トークン/キー」フィールドの横にある「生成」をクリックし、 コピーアイコン をクリックします。
      秘密鍵をプレーンテキストファイルにペーストします。コピーした秘密鍵は、Git ベンダーの webhook 設定に必要です。
  8. 閉じる」をクリックします。

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

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

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

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

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

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

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

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

GitHub Enterprise
table 0-row-1 1-row-1
必須の webhook イベント

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

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

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

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

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

  • プルリクエスト:作成済み
  • プルリクエスト:更新済み
  • プルリクエスト:結合済み
  • プルリクエスト:コメント
  • リポジトリ:プッシュ

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

Webhook が正しく設定されると、Cloud Managerは自動的にリポジトリのパイプライン実行またはプルリクエスト(PR)検証チェックをトリガーします。

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

GitHub Enterprise

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

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

GitLab

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

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

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

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

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

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

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

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

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

Bitbucket

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

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

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

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

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

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