部署和驗證
我們的目標是建置動態Edge Delivery Services區塊,該區塊會呼叫AEM Edge函式以從協力廠商API擷取動態資料。
第四個也是最後一個步驟,是將兩個專案部署到您的開發網站,並確認整個流程是端對端地運作,而不僅僅是本機運作。 Edge Delivery Services區塊和AEM Edge功能存在於兩個不同的存放庫中,因此會透過兩個不同的訪客來促銷。 請先檢閱Edge Delivery Services🔗上的AEM Edge功能部署策略。 它涵蓋AEM Edge函式如何繫結至網站和分支,以及每個網站的秘密範圍設定方式。 此頁面是本教學課程兩個分支的具體順序。
提升並合併兩個PR
- 在您的AEM Edge Functions專案中,將PR從
estimated-delivery(或您建立的分支)引進dev分支。 以我為例,請參閱myfrescopa-edge-functions專案PR - 在您的Edge Delivery Services網站專案中,將PR從
estimated-delivery(或您建立的分支)引進dev分支。 以我為例,請參閱Frescopa網站專案PR - 檢閱並合併兩者。
這兩個PR是獨立的。 合併順序並不影響檢閱,但在部署的網站上成功呼叫AEM區塊之前,必須先部署Edge Delivery Services Edge函式,因為區塊只會呼叫路徑且相依於已指向有效程式碼的CDN路由。
發佈頁面以利上線
發佈到預覽、返回推送程式碼並編寫區塊,可讓編寫的內容供aem up和預覽CDN主機使用。 開發網站網域上的即時流量需要發佈到即時狀態的相同頁面。 在AEM Sites中,開啟頁面並以您先前發佈至預覽的方式來發佈至即時。
將密碼新增到設定管道
模擬的上游呼叫透過SecretStoreManager.getSecret()讀取CATALOG_API_TOKEN和DELIVERY_API_TOKEN,即使教學課程尚未使用實際呼叫的值。 在config/edgeFunctions.yaml中宣告兩者為秘密,參照每個網站加上前置詞的Cloud Manager管線變數,遵循透過Edge函式使用設定和秘密。 在下個步驟執行管道之前,請先在Cloud Manager中新增對應的變數。
部署CDN設定和AEM Edge功能
一旦AEM Edge函式專案的dev分支擁有合併的變更,請先部署CDN設定,然後部署AEM Edge函式本身。
執行設定管道
在檢閱並部署CDN設定後,在Cloud Manager中執行Edge Delivery設定管道(確認管道的 Source程式碼 步驟點位於您的dev分支,而非main,因此它會提取您剛合併的設定)。 由於cdn.yaml和edgeFunctions.yaml都變更,這會推動新的來源選擇器規則,並解析您在上一步中新增的機密參考。
建置和部署AEM Edge函式
管道成功後,在建置和部署AEM Edge函式專案後,建置和部署函式本身:
$ cd myfrescopa-edge-functions
$ git checkout dev && git pull
# Confirm the CLI context targets the Dev site
$ aio aem edge-functions info
在建立及部署之前,先確認Site Domain符合您的開發網站,例如dev-myfrescopa.enablementadobe.com。
$ aio aem edge-functions build
$ aio aem edge-functions deploy my-edge-function
驗證端點
確認AEM Edge函式會先直接回應:
$ curl "https://dev-myfrescopa.enablementadobe.com/api/frescopa/estimated-delivery?sku=house-blend-medium-roast&postcode=90210"
然後開啟網站並執行Edge Delivery Services區塊本身:
https://dev-myfrescopa.enablementadobe.com/dev/branches/estimated-delivery
提交表單,並確認結果會以來自已部署AEM Edge函式的即時資料呈現,而非您在將區塊連線至AEM Edge函式中看到的本機回應。
開啟瀏覽器的「DevTools網路」標籤,並確認請求URL是您網站的網域,而非AEM Edge函式的原始偵錯網域。 這可確認CDN來源選取器正在路由相對路徑相同來源,與為所述的環境選取正確的URL完全相同。
如果要求在這裡失敗但在本機運作,請先檢查CDN原始選擇器規則(路徑originName,而且管道確實已執行),然後檢查AEM Edge函式的建置和部署輸出是否有錯誤。
進一步提升
若要將此功能從dev移至stage和main,請依照透過您的網站提升程式碼,對每個網站重複合併、部署及驗證順序。
摘要
您實作了AEM Edge函式處理常式,該處理常式可合併兩個上游呼叫、建置可呼叫它的Edge Delivery Services區塊、使用環境感知URL切換和CORS將兩個連線,並將兩者部署至即時網站。