在 AEM Headless Developer Journey,了解如何即時部署無頭應用程式。
在AEM無頭歷程的上一份檔案中, 如何透過AEM Assets API更新您的內容 您已學會如何透過API更新AEM中現有的無頭內容,現在應:
本文以這些基本知識為基礎,讓您了解如何準備自己的AEM無頭專案以上線。
本檔案可協助您了解AEM無頭發佈管道,以及在與應用程式上線前需要注意的效能考量事項。
AEM SDK可用來建置和部署自訂程式碼。 這是您在開發和測試無頭應用程式之前所需的主要工具。 它包含下列成品:
除了AEM SDK,您還需要其他工具來協助您在本機開發及測試程式碼和內容:
由於AEM是Java應用程式,因此您必須安裝Java和Java SDK,才能支援AEMas a Cloud Service的開發。
您可以使用Git來管理原始碼控制,以及檢查Cloud Manager的變更,然後將其部署至生產執行個體。
AEM使用Apache Maven來建置從AEM Maven專案原型產生的專案。 所有主要IDE都為Maven提供整合支援。
Node.js是JavaScript執行階段環境,用於搭配AEM專案的前端資產使用 ui.frontend
子專案。 Node.js與npm一起分發,npm是事實上的Node.js套件管理器,用於管理JavaScript相依性。
接下來,讓我們看一下AEM環境的組成部分。
完整的AEM環境由製作、發佈和Dispatcher組成。 這些相同的元件會在本機開發執行階段中提供,讓您在上線前更輕鬆地預覽程式碼和內容。
作者服務 是內部使用者建立、管理和預覽內容的位置。
發佈服務 會視為「即時」環境,且通常是使用者與之互動的環境。 內容在Author服務上經過編輯和核准後,會分發(複製)至Publish服務。 AEM無頭式應用程式最常見的部署模式是讓生產版本的應用程式連線至AEM發佈服務。
Dispatcher 是與AEM dispatcher模組增強的靜態Web伺服器。 它會快取由發佈例項產生的網頁,以提升效能。
本機開發專案以Apache Maven為基礎,且使用Git進行原始碼控制。 為了更新專案,開發人員可使用其偏好的整合開發環境,例如Eclipse、Visual Studio Code或IntelliJ等。
若要測試無頭應用程式將擷取的程式碼或內容更新,您必須將更新部署至本機AEM執行階段,其中包括AEM製作和發佈服務的本機例項。
請務必注意本機AEM執行階段中每個元件之間的差異,因為在最重要的位置測試更新非常重要。 例如,在製作上測試內容更新,或在發佈例項上測試新程式碼。
在生產系統中,Dispatcher和http Apache伺服器一律會位於AEM發佈例項之前。 它們為AEM系統提供快取和安全服務,因此也必須針對Dispatcher測試程式碼和內容更新。
若要為啟動準備AEM無標題專案,您必須確定專案的所有組成部分都正常運作。
為此,您需要將所有內容整合在一起:程式碼、內容和設定,並在本機開發環境中測試,以備上線準備。
地方發展環境由三個主要領域組成:
設定本機開發環境後,您就可以在本機部署靜態節點伺服器,以模擬提供給React應用程式的內容。
若要深入了解如何設定本機開發環境,以及內容預覽所需的所有相依性,請參閱 生產部署檔案.
現在,您可以遵循以下概述的最佳實務,為您的AEM無頭應用程式做好啟動準備。
請參閱 其他資源 以取得CDN和快取的詳細資訊。
Last-modified-since
重新整理資源。_reference
JSON檔案中的輸出,即可開始下載資產,而不需剖析完整的JSON檔案。部署至生產環境取決於您是否有 傳統 使用Maven進行部署,或位於Adobe Managed Services(AMS)上,因此使用Cloud Manager的AEM例項。
若 傳統 使用Maven部署(非AMS),您可以看到 WKND教學課程 以取得概述。
如果您是使用Cloud Manager的AMS客戶,則在您確定所有項目皆已測試且正常運作後,即可將程式碼更新推送至 Cloud Manager中的集中式Git存放庫.
將更新上傳至Cloud Manager後,即可使用 Cloud Manager的CI/CD管道.
為了讓使用者在使用AEM無頭式應用程式時能有最佳體驗,請務必監控關鍵效能量度,如下所述:
請遵循下列最佳實務作為偵錯的一般方法:
若想透過支援有效記錄錯誤,以備您需要進一步協助時使用,請遵循下列步驟:
恭喜! 您已完成AEM Headless Developer Journey! 您現在應了解:
您已啟動第一個AEM Headless專案,或現在擁有所需的所有知識。 幹得好!
不過,AEM的無頭店不需要停在這裡。 您可能會記得 快速入門歷程部分 我們簡要地討論了AEM如何不僅支援無頭式傳送和傳統的完整堆疊模型,還支援結合兩者優點的混合模型。
如果您專案需要這種彈性,請繼續前往歷程的其他選用部分, 如何使用AEM建立單頁應用程式(SPA)。
CDN快取