在 Cloud Manager 中新增外部存放庫 external-repositories

了解如何將外部存放庫新增至 Cloud Manager。Cloud Manager支援與GitHub Enterprise、GitLab和Bitbucket存放庫整合。

客戶現在也可以將其Azure DevOps Git存放庫加入Cloud Manager,並支援現代Azure DevOps和舊版VSTS (Visual Studio Team Services)存放庫。

  • Edge Delivery Services 使用者可以使用所加入的存放庫來同步處理及部署網站程式碼。
  • AEM as a Cloud Service 和 Adobe Managed Services (AMS) 使用者可以將此存放庫連結至全堆疊以及前端管道。

設定外部存放庫

在Cloud Manager中設定外部存放庫包含下列步驟:

新增外部存放庫 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 廠商相符。
    選取存放庫類型

    必要。選取您正在使用的存放庫型別。 如果存放庫URL路徑包含Git供應商名稱(例如GitLab或Bitbucket),系統已為您預先選取存放庫型別。:

    • GitHub (GitHub Enterprise和自控版GitHub)
    • GitLab (包括gitlab.com和自控的GitLab版本)
    • Bitbucket (只有bitbucket.org — 雲端版本)受到支援。 自2024年2月15日起,已棄用自行託管的Bitbucket版本。
    • Azure DevOps (dev.azure.com)
    說明 選擇性。存放庫的詳細描述。
  7. 選取​ 儲存 ​以新增存放庫。

    現在,提供存取權杖以驗證外部存放庫的所有權。

  8. 在​ 私人存放庫所有權驗證 ​對話方塊中,提供存取權杖來驗證外部存放庫的所有權,以便您可以存取它,然後按一下​ 驗證

    為存放庫選取現有的存取權杖
    選取Bitbucket存放庫的現有存取Token (僅供說明之用)。

GitHub Enterprise
table 0-row-2 1-row-2 2-row-2
存取權杖選項 說明
使用現有的存取權杖 如果您已為組織提供存放庫存取權杖,且有權存取多個存放庫,您可以選取現有的權杖。使用​ 權杖名稱 ​下拉清單,選取想要套用至存放庫的權杖。否則,請新增新的存取權杖。
新增新的存取權杖
  • 在​ Token名稱 ​文字欄位中,輸入您要建立之存取權杖的名稱。

  • 依照GitHub檔案中的指示建立個人存取權杖。

  • GitHub Enterprise Personal Access Token (PAT)的必要許可權
    這些許可權確保Cloud Manager可以驗證提取請求、管理認可狀態檢查以及存取必要的存放庫詳細資訊。
    當您在GitHub Enterprise中產生PAT時,請確定它包含下列存放庫許可權:

    • 提取請求(讀取和寫入)
    • 認可狀態(讀取和寫入)
    • 儲存區域中繼資料(唯讀)
  • 在​ 存取Token ​欄位中,貼上您剛建立的權杖。

驗證之後,外部存放庫即可使用並連結至管道。

另請參閱管理存取權杖

GitLab
table 0-row-2 1-row-2 2-row-2
存取權杖選項 說明
使用現有的存取權杖 如果您已為組織提供存放庫存取權杖,且有權存取多個存放庫,您可以選取現有的權杖。使用​ 權杖名稱 ​下拉清單,選取想要套用至存放庫的權杖。否則,請新增新的存取權杖。
新增新的存取權杖
  • 在​ Token名稱 ​文字欄位中,輸入您要建立之存取權杖的名稱。

  • 依照GitLab檔案中的指示建立個人存取權杖。

  • GitLab個人存取權杖(PAT)的必要許可權
    這些範圍允許Cloud Manager存取驗證和webhook整合所需的存放庫資料和使用者資訊。
    當您在GitLab中產生PAT時,請確定它包含下列權杖範圍:

    • api
    • read_user
  • 在​ 存取Token ​欄位中,貼上您剛建立的權杖。

驗證之後,外部存放庫即可使用並連結至管道。

另請參閱管理存取權杖

位元貯體
table 0-row-2 1-row-2 2-row-2
存取權杖選項 說明
使用現有的存取權杖 如果您已為組織提供存放庫存取權杖,且有權存取多個存放庫,您可以選取現有的權杖。使用​ 權杖名稱 ​下拉清單,選取想要套用至存放庫的權杖。否則,請新增新的存取權杖。
新增新的存取權杖
  • 在​ Token名稱 ​文字欄位中,輸入您要建立之存取權杖的名稱。

  • 使用Bitbucket檔案建立存放庫存取權杖。

  • Bitbucket個人存取Token (PAT)的必要許可權
    這些許可權可讓Cloud Manager存取存放庫內容、管理提取請求,以及設定或回應webhook事件。
    當您在Bitbucket中建立應用程式密碼時,請確定它包含下列必要的應用程式密碼許可權:

    • 存放庫(唯讀)
    • 提取請求(讀取和寫入)
    • Webhook (讀取和寫入)
  • 在​ 存取Token ​欄位中,貼上您剛建立的權杖。

驗證之後,外部存放庫即可使用並連結至管道。

另請參閱管理存取權杖

Azure DevOps
table 0-row-2 1-row-2 2-row-2
存取權杖選項 說明
使用現有的存取權杖 如果您已為組織提供存放庫存取權杖,且有權存取多個存放庫,您可以選取現有的權杖。使用​ 權杖名稱 ​下拉清單,選取想要套用至存放庫的權杖。否則,請新增新的存取權杖。
新增新的存取權杖
  • 在​ Token名稱 ​文字欄位中,輸入您要建立之存取權杖的名稱。

  • 使用Azure DevOps檔案建立存放庫存取權杖。

  • Azure DevOps個人存取權杖(PAT)的必要許可權。
    這些許可權可讓Cloud Manager存取存放庫內容、管理提取請求,以及設定或回應webhook事件。
    當您在Azure DevOps中建立應用程式密碼時,請確定它包含下列必要的應用程式密碼許可權:

    • 程式碼(讀取)
    • 代碼(狀態)
    • 提取請求Threads (讀取和寫入)
  • 在​ 存取Token ​欄位中,貼上您剛建立的權杖。

驗證之後,外部存放庫即可使用並連結至管道。

另請參閱管理存取權杖

將驗證的外部存放庫連結至管道。 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)。

GitHub.com上託管的存放庫不需要Webhook設定,因為Cloud Manager會直接透過GitHub應用程式整合。

對於已上線存取權杖的所有其他外部存放庫 — 例如GitHub Enterprise、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。 您的Git供應商Webhook設定需要複製的URL。
    2. 在​ Webhook密碼 ​權杖/金鑰欄位旁邊,按一下​ 產生,然後按一下 復製圖示
      將密碼貼入純文字檔。 您的Git廠商Webhook設定需要複製的密碼。
  8. 按一下​ 關閉

  9. 導覽至您的Git廠商解決方案(GitHub Enterpriser、GitLab、Bitbucket或Azure DevOps)。

    新增外部存放庫中可取得webhook組態的所有詳細資訊以及每個廠商所需的事件。 在步驟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回應GitHub活動,例如提取請求驗證、管道的推播型觸發器或Edge Delivery Services程式碼同步。
請確定webhook已設定為在下列必要webhook事件上觸發:

  • 提取請求
  • 推送
  • 問題註解
GitLab
table 0-row-1 1-row-1
必要的webhook事件

這些webhook事件可讓Cloud Manager在推送程式碼或提交合併請求時觸發管道。 也會追蹤與提取請求驗證相關的註解(透過附註事件)。
請確定webhook已設定為在下列必要webhook事件上觸發

  • 推送事件
  • 合併請求事件
  • 附註事件
位元貯體
table 0-row-1 1-row-1
必要的webhook事件

這些事件確保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

建立檢查時,其外觀類似下列熒幕擷圖。 與GitHub.com的主要差異在於GitHub.com使用檢查執行,而GitHub Enterprise (使用個人存取權杖)會產生認可狀態:

認可狀態以指示GitHub Enterprise上的PR驗證程式

GitLab

GitLab互動僅依賴評論。 驗證開始時,會新增註解。 驗證完成後(無論成功還是失敗),初始註解都將被移除並替換為包含驗證結果或錯誤詳細資料的新註解。

程式碼品質驗證執行時:

執行程式碼品質驗證時

完成冷品質驗證時:

當冷品質驗證完成時

當程式碼品質驗證失敗並出現錯誤時:

當程式碼品質驗證失敗並出現錯誤時

當程式碼品質驗證因客戶問題而失敗時:

當程式碼品質驗證因客戶問題而失敗時

位元貯體

程式碼品質驗證執行時:

執行程式碼品質驗證時的狀態

使用認可狀態來追蹤PR驗證進度。 在以下案例中,熒幕擷圖顯示程式碼品質驗證因客戶問題而失敗時會發生什麼情況。 新增附有詳細錯誤資訊的註解,並建立確認檢查,以顯示失敗(顯示在右側):

位元貯體的 提取要求驗證狀態

Azure DevOps

Azure DevOps會透過狀態檢查來追蹤提取請求驗證。 Cloud Manager執行提取請求驗證時,會新增顯示在Azure DevOps提取請求介面中的狀態檢查。

在程式碼品質驗證期間,狀態檢查會顯示處理進行中:

使用webhooks-1 提取請求的 Azure DevOps驗證

程式碼品質驗證完成後,狀態檢查會更新以反映結果:

使用webhooks-2 提取請求的 Azure DevOps驗證

如果驗證失敗,詳細錯誤資訊會顯示在狀態檢查詳細資訊中。 您可以按一下狀態檢查,以在Cloud Manager中檢視完整驗證結果。

使用webhooks-3 對提取請求進行 Azure DevOps驗證

如需提取請求評論和回饋,Cloud Manager會將評論直接新增至Azure DevOps中的提取請求,並包含驗證詳細資料和任何必要的動作。

使用webhooks-4 的提取要求 Azure DevOps驗證

疑難排解webhook問題

  • 請確定Webhook URL包含有效的API金鑰。
  • 檢查您的Git廠商設定中是否已正確設定webhook事件。
  • 如果PR驗證或管道觸發程式無法運作,請確認Cloud Manager和您的Git供應商中的Webhook密碼都是最新的。
recommendation-more-help
fbcff2a9-b6fe-4574-b04a-21e75df764ab