使用AEM Cloud迁移技能 using-cloud-migration-skill
本参考涵盖了每种受支持的迁移模式,如何提供BPA调查结果,以及如何管理大型项目中的会话。 有关简介和设置说明,请参阅概述。
会话的工作方式 workflow-overview
每个迁移会话都遵循以下顺序:
- 命名模式:指定一个模式(例如,
scheduler) - 提供调查结果:来自BPA CSV文件、通过MCP的CAM或特定文件路径
- 代理读取转换规则:该技能在更改任何代码之前从伴侣
code-assessment技能中读取相关转换规则 - 第一批五个:代理最多转换五个发现并报告更改的内容
- 您审阅并继续:审阅每个批次后,回复
continue以继续下一批处理
该代理一次处理一个模式和一个批次。 它不会自动继续;每个批次都需要您的确认。
迁移模式 patterns
调度程序 scheduler
定位使用与AEMaaCS的无状态容器化运行时不兼容的sling.commons.scheduler或Scheduler注入的Java类。
BPA模式ID: scheduler
代理使用@Designate将Scheduler插入的作业转换为Runnable的@Component实现,将基于构造函数的计划程序注册替换为@Activate / @Deactivate生命周期方法。
ResourceChangeListener resource-change-listener
定位需要更新AEMaaCS的ResourceChangeListener或ResourceChange侦听器实施。
BPA模式ID: resourceChangeListener
复制 replication
定位导入com.day.cq.replication.Replicator或相关复制API的类,AEMaaCS不支持这些类。 代理将它们替换为基于ContentDistribution的等效项,并更新相应的OSGi服务引用。
BPA模式ID: replication
事件侦听器 event-listener
定位必须针对AEMaaCS事件处理语义更新的OSGi EventListener或EventHandler实施。
BPA模式ID: eventListener
事件处理程序 event-handler
定位需要针对AEMaaCS调整的同步OSGi EventHandler服务。
BPA模式ID: eventHandler
资产API asset-api
使用已弃用AssetManager、DAMEvent或不支持的DAM API的目标类。 代理将它们替换为支持的AEM Assets API等效项。
BPA模式ID: assetApi
HTL Lint(data-sly-test) htl-lint
定位位于ui.apps下并生成data-sly-test: redundant constant value comparison个lint警告的HTL模板。 代理通过直接扫描内容包来发现受影响的模板;此模式不需要BPA CSV或CAM连接。
BPA模式ID: htlLint
htlLint调查结果未出现在BPA CSV导出中。 当您启动此模式的会话时,代理会通过直接文件扫描发现它们。到Cloud Manager的OSGi配置 osgi-cloud-manager
将ui.config中的OSGi配置转换为与Cloud Manager兼容的.cfg.json格式,并具有完全特定于环境的处理。 这涵盖了两项相关任务:
配置格式转换
AEMaaCS要求将OSGi配置存储为.cfg.json文件,并且在运行模式范围的文件夹(config.author/、config.publish/、config.dev/等)中具有特定于环境的配置。 代理:
- 将现有
.config、.cfg和XML格式的OSGi配置转换为.cfg.json - 将包含创作专用值和发布专用值的配置拆分为单独的运行模式范围内的文件
- 根据OSGi元类型规范(字符串、整数、布尔值、数组)验证属性类型
- 标记Adobe拥有的PID以供手动审查而不是自动转换它们
密钥和环境变量
将纯文本密钥和特定于环境的值从提交的配置文件中移出,并将其替换为Cloud Manager占位符:
$[secret:NAME]:用于密码、令牌和其他敏感值$[env:NAME]:对于每个环境不同的非敏感值(例如,服务URL)
相应的变量和密钥在Cloud Manager中应用,并在运行时插入;源代码控制中不存储任何值。
此模式不使用BPA CSV或CAM。 开始会话时间:
Scan my config files and create Cloud Manager environment secrets or variables.
BPA Source选项 bpa-source
MCP错误处理 mcp-errors
如果MCP连接返回错误(包括找不到项目或身份验证失败),代理将停止并显示错误。 它不会自动切换到另一个源。 从“已停止”状态,您可以:
- 从显示代理的列表中确认正确的项目
- 提供BPA CSV路径作为替代方法
- 为手动迁移提供特定的Java文件路径
管理大型报表中的会话 large-reports
对于具有许多发现结果的BPA报表,逐批方法允许您逐步验证:
- 查看每个批次的差异
- 使用模式范围的提交消息提交批处理
- 回复
continue以开始下一批处理 - 重复执行上述步骤,直到座席报告模式的所有查找结果都已完成
每个提交一个模式可让您的Git历史记录保持可读性,并可以根据需要轻松还原各个模式转换。
Workspace范围 workspace-scope
代理仅在打开的IDE Workspace文件夹中搜索和编辑文件。 它不会扫描磁盘上的父目录、同级文件夹或其他位置。
如果BPA查找结果引用了工作区中不存在的文件路径,则代理将停止并告知您缺少哪些路径。 打开正确的项目文件夹或明确提供路径以继续。