注意:這是一個較進階的主題,關於邊緣遞送服務& 文件撰寫。如需EDS& Document Authoring 的介紹,請先查看此處以瞭解相關內容

檔案型 AEM 邊緣傳送組態的背景& 組態服務

當 Adobe 首次推出 Edge Delivery Services(或稱為 Helix,內部稱之為 Helix)時,所有主要的全站設定都是使用檢查到網站儲存庫的設定檔來完成。部署新組態的方式是推送到套件庫的main 分支,該分支會將該組態推送到網站上。這樣做的缺點是,任何指定的儲存庫都必須直接與網站和文件儲存庫連結。這樣您就無法使用單一程式碼儲存庫來驅動多個網站 - 甚至是單一網站的多個版本 (例如dev/stg/prd 式的內容或設定暫存環境)。

由於這個原因,以及其他技術上的考量,Adobe 已經轉向以Configuration Service 為核心的新架構設計。在這個範例中,Adobe 會在其 API 驅動的 Configuration Service 中集中儲存和版本化組態,一旦遷移到這項服務,您 Edge Delivery 專案中的檔案將不會再對網站有任何影響。

移轉至組態服務的先決條件

https://www.aem.live/docs/config-service-setup#prerequisites 上所述,在您開始轉移到 Config Service 之前,您需要先確保您的 Adobe 使用者映射為 Github org 的管理員,這樣您才有權限在 Config Service 中進行變更。通常與您打交道的 Adobe 技術聯絡人應該可以幫您連上此功能。

端點& 受移至組態服務影響的組態表面

這會影響 Edge Delivery 專案中的下列設定面:

將現有的檔案型邊界傳送站台移轉至組態服務的步驟

AEM Admin (Helix) API中有一個migrate 指令,可讓您自動將基於檔案的 Edge Delivery 設定轉移到 Config Service。不過也有一些注意事項,以下是需要了解的事項。

首先,假設您有一個使用檔案式組態在 DA 上建立的現有網站 (我知道我有幾個這樣的網站,我可能是少數,但這是我的部落格文章 - 您會想要重新評估您自己使用個案的步驟)。

步驟:

  1. 確保您是您的組織的管理員:如上所述,請與 Adobe 合作,確保您的 Github org 上有admin 。請前往https://tools.aem.live/tools/site-admin/index.html ,然後登入以驗證。如果運作正常,您應該會看到一個成功的 200 請求,內容為 https://admin.hlx.page/config/[orgname]/sites.json

  2. 取得您的認證標記:執行 shift+ctrl+I 或 shift+cmd+I 來彈出開發者工具,並查看上述sites.json 請求。如果您開啟網路索引標籤,並查看標頭,您會看到x-auth-token 值。複製該值,因為這是您在下列 API 請求中與 AEM Configuration Service 互動時需要使用的承載令牌。

  3. 複製您的網站:在您的網站上進行測試運行是個好主意(使用基於檔案的配置的網站),這樣您就可以在 prod 上運行之前測試此過程。建立一個新的 EDS repo& 網站,並使用與您目前網站相同的程式碼庫(如果您還沒有開發 repo 的話)。理想的情況是,您也可以填充一個開發內容來源,這樣您就有一個全副武裝且可運作的沙盒可以亂來。

  4. 執行 Migrate Command Dry-Run: 執行下列指令,以執行從檔案型服務遷移至組態服務的試運行:

    curl --request GET --url 'https://admin.hlx.page/config/{my-org}/sites/{my-site}.json?migrate=true&validate=true' -H "Authorization: token $MY_AUTH_TOKEN_NOTED_ABOVE"

    如果成功執行,它會吐出下列驗證文字,告訴您是否能成功移轉。就我而言,這表示我還未準備好進行移轉,而且還有一些事情需要修正:

    "error": "validation failed.", "message": "/sidekick/plugins/0/environments/0 must be equal to one of the allowed values; /sidekick/plugins/2/environments/0 must be equal to one of the allowed values",

    另外,如果您在調用時收到 400 bad request,您也可以使用 HTTP 回應中的x-error 標頭,它也會告訴您在 migrate dry-run 請求中的任何問題:

    在這種情況下,錯誤會告訴我,在我的 AEM Sidekick 外掛程式清單中,/tools/sidekick/config.json 的第一個外掛程式無效,因為 Config Service 已不再支援以這種方式設定外掛程式。在這個範例中,我需要將這個外掛程式移植到 DA 外掛程式的 DA Library 表單中。

  5. 如上所述,修正任何驗證問題:您需要檢查並修復任何出現的問題,然後再重新執行驗證請求。

    將專案中定義為 Sidekick 外掛程式的任何現有外掛程式,放入 DA 中。如果是 Sidekick 外掛程式的類似問題,DA 外掛程式反而會在https://da.live/config#/[orgname]/[sitename]/ 的工作表"library" 標籤中設定。

    或其他類似的問題:

    這表示我們的標頭中有一些不再受支援的非法屬性(或許從來就不受支援,只是沒有破壞任何東西,所以被錯誤地留在裡面)。

    一旦這些問題都處理好了,您就可以執行遷移本身了。

  6. 將& 已驗證的完整設定推送/移轉至 config 服務:要推送設定,請使用下列指令:

    curl --request POST --url 'https://admin.hlx.page/config/{my-org}/sites/{my-site}.json?migrate=true' -H "Authorization: token $MY_AUTH_TOKEN_NOTED_ABOVE"

    基本上與上述命令相同,但使用POST 取代GET 。這會將您遷移至組態服務。

  7. 驗證:移轉後,有幾件事需要立即驗證。

    1. 驗證索引:移至https://tools.aem.live/tools/index-admin/index.html 並驗證您的索引是否已正確拉入
    2. 驗證網站地圖:前往https://tools.aem.live/tools/sitemap-admin/index.html 並驗證所有網站映射都已通過
    3. 驗證使用者:前往https://tools.aem.live/tools/user-admin/index.html?org={orgname}&site={sitename} ,確認您的預覽/發佈使用者顯示在那裡。
    4. 在 DA 中驗證使用者:移至https://da.live/apps/aem-permissions#/{orgname}/{sitename} ,這會讓您看到使用者友善的預覽/發佈權限清單,因為這些權限會暴露在 DA 中。這也是您現在能夠
    5. 驗證預覽/發佈:以具有預覽/發佈權限的使用者登入時,請確認您仍具有適當的預覽/發佈能力。找一個沒有預覽或發佈權限的使用者,並確保它被適當地鎖定。
    6. 任何您認為網站需要的其他驗證。
  8. 燒入:QA& 與團隊燒入,修正任何其他預覽/發佈時出現的問題,並讓新組態燒入至少一週,以清除任何其他可能出現的問題。

  9. 清理組態檔案:一旦燒錄完成,您將不再需要您的 in-repo 配置,您可以開始逐一刪除這些配置。我建議您將現有設定的完整複本持久化到 git 以進行版本管理,以防萬一有人提出錯誤的 API 請求,而無論什麼原因都無法撤銷。

組態服務的 CI/CD 影響注意事項

關於 CI/CD 的注意事項:現在您擁有 API 驅動的設定服務的固有彈性,但也有一個缺點,就是您的 git 驅動 CI/CD 不再有任何作用。

好消息是有一些工具,例如版本管理員,可以追蹤組態變更和誰做了什麼變更:

壞消息是,這會移除內建的、以拉取請求為中心的 CI/CD 架構,我們都已經熟悉 Edge Delivery,並對它愛不釋手。因此,如果您需要初級工程師提出變更建議,要他們向您提出拉取請求,證明他們的組態變更可以安全地向前滾動,就顯得更加困難。

API 的授權是基於您目前登入的使用者,這使得在 CI/CD 管線中整合一組持久性的金鑰時會有一點阻力。我相信這是可以做到的,只是需要一些修補。

因此,對於這一點(在撰寫本文時),您需要針對組織的規模和組成,滾動您自己覺得合適的 CI/CD 流程。

希望這能對您有所幫助,如果您有任何問題,請寫信給我們!

關於作者

Tad Reeves

Arbory Digital 首席建築師

Tad 是兩屆 AEM 冠軍,自 2010 年起即與 Adobe Experience Manager& CQ 合作。從 1996 年開始,他幾乎戴過所有網站交付的帽子,從解決方案架構到產品管理,以及多年的 devops 和系統管理經驗。他喜歡 Arbory Digital 讓他有機會提供誠實有效的解決方案,即使這意味著挑戰普遍的銷售觀點。Tad 不工作的時候(有時也會工作), 喜歡 與妻子一起 騎山地自行車和 探索大自然,& 3 個孩子。

在 Linkedin 上聯絡 Tad

喜歡你聽到的嗎?對適合您的產品有疑問?我們很樂意與您討論!聯絡我們

您可能喜歡的更多文章

category
Podcasts, AEM Technical Help, AEM News, Arbory Digital News, Customer Stories, Podcasts
tags
AEM, EDS
number of rows
1