Edge Delivery Services上的AEM Edge功能部署策略
在Edge Delivery Services上,AEM Edge函数绑定到站点,每个站点都映射到Git分支。 一个项目只能获得3个AEM Edge函数实例,这是一个固定预算,无论您的存储库有多少个分支。 在将预算纳入发布流程之前,围绕该预算规划您的分支策略。
AEM Edge函数的作用范围
每个网站(生产、暂存和开发)都映射到固定分支(分别为main、stage和dev),并获得其自己的AEM Edge函数实例。
Edge Delivery Services上的
通过网站提升代码
在Edge Delivery Services上,您的CDN配置(edgeFunctions.yaml和cdn.yaml)和AEM Edge函数代码位于同一 AEM Edge函数项目 存储库中。 将代码提升到下一个站点的高级步骤包括:
-
将您的配置和AEM Edge函数代码更改合并到映射到目标站点的分支(例如,
dev合并到stage)。 -
在Cloud Manager中,验证Edge Delivery Services配置管道是否使用合并的分支。
-
运行Edge Delivery配置管道以部署
edgeFunctions.yaml和cdn.yaml文件。 -
验证CLI上下文(或CI/CD系统)是否使用合并分支并使用
aio aem edge-functions info命令定位所需站点。 -
运行
aio aem edge-functions deploy <name>(通过CLI或CI/CD系统)以将函数代码部署到目标站点。
跨站点管理密钥
Edge Delivery Services的每个项目都有一个配置管道,而不是每个站点都有一个配置管道。 由于开发、暂存和生产站点均共享该变量,因此您不能使用三个不同的值三次添加相同的变量名称。
在Cloud Manager中,打开项目的Edge Delivery配置管道,然后选择查看/编辑变量。 为每个站点添加一个带有前缀的密码,以使三个站点永不冲突,例如DEV_TRIPS_API_TOKEN、STAGE_TRIPS_API_TOKEN和MAIN_TRIPS_API_TOKEN。 有关确切步骤,请参阅使用配置和密钥。
无论在什么站点,非机密配置的工作方式都相同:您直接在edgeFunctions.yaml中声明它们,并将其提交到Git。 有关确切步骤,请参阅使用配置和密钥。
围绕站点范围规划您的SDLC
- 在合并到
stage或main之前,测试dev分支上的函数逻辑。 - 在每个密码和变量名称前面添加其站点(
DEV_、STAGE_、MAIN_),因为一个配置管道为所有三个站点提供服务。 - 将站点之间的配置和机密漂移作为发布核对清单的一部分进行跟踪,而不是作为事后考虑的因素。