設定適用於Edge Delivery Services的GitLab
若要使用GitLab將內容從Experience Manager Guides發佈到Edge Delivery Services (EDS),您可以透過Cloud Manager的自攜Git (BYOG)功能將GitLab存放庫連結到您的EDS網站。 本文列出循序步驟。 如需每個步驟的詳細資訊,請遵循連結的檔案。
運作方式
- GitHub存放庫會透過AEM Code Sync應用程式建立EDS網站。
- GitLab存放庫會儲存從Experience Manager Guides發佈的內容。
- Cloud Manager接收GitLab推播事件(webhook)並將它們同步至EDS網站,以連結這兩者。
先決條件
- 存取GitHub和GitLab (GitLab.com或自行託管)以建立存放庫和Token。
- 使用Cloud Manager的存取權,該角色可允許新增存放庫(部署管理員或企業所有者)。
- 在您的Adobe組織中建立整合Cloud Manager API的系統管理員或API開發人員角色。
- 已在組態服務中註冊的
aem.live組織。 深入瞭解組態服務設定。
設定Edge Delivery Services的GitLab
若要設定GitLab以搭配Edge Delivery Services使用,請依照指定順序執行下列步驟,以確保正確設定和整合。
1. 使用GitHub建立EDS網站
從AEM Guides範本建立GitHub存放庫,並在其上安裝AEM程式碼同步應用程式。 儲存產生的即時URL (https://<branch>--<github-repo>--<github-username>.aem.live)以供稍後使用。
如需相關步驟,請檢視建立EDS的GitHub存放庫以及透過AEM Code Sync將GitHub連線至Adobe。
2. 建立GitLab存放庫
從相同的AEM Guides範本建立個別的GitLab存放庫(例如my-eds-gitlab)。 Experience Manager Guides會將產生的輸出發佈到此存放庫。 EDS需要main分支。
若要建立存放庫,請建立空白專案並將aem-guides-boilerplate的內容推入其中,或將範本匯入新的專案。 如需相關步驟,請在GitLab檔案中檢視建立專案和將專案從GitHub匯入至GitLab。
3. 設定掛接點URL
在GitHub存放庫中,更新fstab.yaml,讓內容來源指向GitLab存放庫,並將變更提交至main。
https://<worker URL>/gitlab/<git acc domain>/<git username>/<git repo>/main/docs
<worker URL><git acc domain>gitlab.com)或您的自行託管網域。<git username><git repo>main / docs4. 建立GitLab存取權杖
建立下列專案所需的存取權杖:
- Cloud Manager,驗證並存取存放庫。 深入瞭解在Cloud Manager中新增外部存放庫。
- Experience Manager Guides發佈設定檔,以認可已發佈的輸出。 建立具有 開發人員 角色和
api範圍的GitLab專案存取權杖。 在GitLab檔案中進一步瞭解。
5. 將GitLab存放庫新增至Cloud Manager
在Cloud Manager中,移至存放庫 > 新增存放庫,選取私人存放庫,並使用存取權杖驗證所有權。 等到存放庫狀態為就緒。 BYOG選項只有在至少一個外部存放庫準備就緒後才能使用。
如需相關步驟,請檢視在Cloud Manager中新增外部存放庫。
6. 產生Cloud Manager API金鑰
在Adobe Developer Console中建立API整合(Cloud Manager API,OAuth伺服器對伺服器),並複製使用者端ID (API金鑰)。
如需步驟,請檢視建立API整合專案。
7. 設定GitLab webhook
在Cloud Manager中,選取存放庫的設定Webhook,並複製 Webhook URL 和密碼。 將API金鑰附加至URL (<webhook URL>&api-key=<CLIENT_ID>)。 在GitLab中,移至設定 > Webhooks、新增URL和密碼、選取main分支並啟用推播事件。
如需詳細資訊,請檢視在Cloud Manager中設定外部存放庫。
8. 將EDS網站新增至Cloud Manager
在Cloud Manager中,前往Edge Delivery > 新增Edge Delivery網站,然後輸入步驟1中儲存的即時URL。 完成所有權驗證。
如需步驟,請檢視新增Edge Delivery網站。
9. 使用自備Git連線存放庫
在Cloud Manager的EDS網站上,選取自攜Git (BYOG),選擇GitLab存放庫,然後確認。 複製並安全地儲存產生的機密。 此密碼只會顯示一次,如果您重新設定網站,則會產生新的密碼。
如需詳細資訊,請檢視在Cloud Manager中設定您的Edge Delivery網站。
10. 設定EDS網站以使用Cloud Manager
使用webhook URL中的方案ID (/program/<PROGRAM_ID>/)和存放庫ID (/repo/<REPO_ID>/),將EDS網站的程式碼來源設定為Cloud Manager存放庫。 然後,使用步驟9中的密碼建立名為cm-byog的密碼。
針對管理員API呼叫,檢視設定您的AEM網站以使用Cloud Manager。
11. 同步和驗證
在Cloud Manager中,從網站功能表選取同步程式碼,然後選擇main分支。 然後開啟https://main--<site>--<org>.aem.page以驗證網站。
12. 從Experience Manager Guides發佈
使用步驟4中的專案存取權杖,建立 Git帳戶型別 設為 GitLab 的EDS發佈設定檔。 然後在EDS輸出預設集中選取此設定檔並產生輸出。 輸出已提交到GitLab存放庫的docs資料夾。
如需步驟,請檢視建立EDS發佈設定檔和建立EDS的輸出預設集並產生輸出。
疑難排解
- 網站在推播後顯示舊內容:請確認webhook正在將事件傳送至Cloud Manager,然後檢查最新同步處理工作的狀態。
- 同步處理錯誤
Unable to fetch hlxignore: 401:cm-byog密碼不正確。 使用步驟9中的秘密重新建立檔案。 - 連結至其他網站的存放庫: Cloud Manager存放庫一次只能連結至一個網站。 若要跨網站共用存放庫,請使用Repoless。
如需詳細資訊,請檢視疑難排解中的自攜Git。