在 AEM Headless开发人员历程,了解如何实时部署无头应用程序。
在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环境由创作、发布和调度程序组成。 这些相同的组件将在本地开发运行时中提供,以便您在上线之前更轻松地预览代码和内容。
Author 服务是内部用户创建、管理和预览内容的地方。
Publish 服务被视为“实时”环境,通常是最终用户与之交互的对象。内容在创作服务上进行编辑和批准后,会分发(复制)到发布服务。 AEM Headless 应用程序最常见的部署模式是将应用程序的生产版本连接到 AEM Publish 服务。
Dispatcher 是一个通过 AEM Dispatcher 模块增强的静态 Web 服务器。它会缓存由发布实例生成的网页,以提高性能。
本地开发项目是基于Apache Maven构建的,并且使用Git进行源代码管理。 为了更新项目,开发人员可以使用他们首选的集成开发环境,例如Eclipse、Visual Studio代码或IntelliJ等。
要测试将由您的无头应用程序摄取的代码或内容更新,您需要将更新部署到本地AEM运行时,其中包括AEM创作和发布服务的本地实例。
请务必注意本地AEM运行时中每个组件之间的差异,因为在最重要的位置测试更新非常重要。 例如,在创作时测试内容更新或在发布实例中测试新代码。
在生产系统中,调度程序和http Apache服务器将始终位于AEM发布实例之前。 它们为AEM系统提供缓存和安全服务,因此测试针对调度程序的代码和内容更新至关重要。
要为启动您的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后,可以使用将这些更新部署到AEM Cloud Manager的CI/CD管道.
为了让用户在使用AEM无头应用程序时获得最佳体验,您务必要监控关键性能量度,如下所述:
按照以下最佳实践作为调试的一般方法:
为了在您需要进一步帮助时,通过支持部门高效地记录错误,请执行以下步骤:
恭喜!您已完成AEM Headless开发人员历程! 您现在应该了解:
您已经启动了您的第一个AEM Headless项目,或者现在掌握了执行此操作所需的所有知识。 干得好!
不过,AEM中的无头店不需要停在这里。 您可能记得 入门指南部分 我们简要讨论了AEM如何不仅支持无头交付和传统的全栈模型,而且还支持结合两者优点的混合模型。
如果您的项目需要这种灵活性,请继续进行历程的可选附加部分, 如何使用AEM创建单页应用程序(SPA)。
CDN缓存