使用AEM Cloud迁移技能 using-cloud-migration-skill

本参考涵盖了每种受支持的迁移模式,如何提供BPA调查结果,以及如何管理大型项目中的会话。 有关简介和设置说明,请参阅概述

会话的工作方式 workflow-overview

每个迁移会话都遵循以下顺序:

  1. 命名模式:指定一个模式(例如,scheduler
  2. 提供调查结果:来自BPA CSV文件、通过MCP的CAM或特定文件路径
  3. 代理读取转换规则:该技能在更改任何代码之前从伴侣code-assessment技能中读取相关转换规则
  4. 第一批五个:代理最多转换五个发现并报告更改的内容
  5. 您审阅并继续:审阅每个批次后,回复continue以继续下一批处理

该代理一次处理一个模式和一个批次。 它不会自动继续;每个批次都需要您的确认。

迁移模式 patterns

调度程序 scheduler

定位使用与AEMaaCS的无状态容器化运行时不兼容的sling.commons.schedulerScheduler注入的Java类。

BPA模式ID: scheduler

代理使用@DesignateScheduler插入的作业转换为Runnable@Component实现,将基于构造函数的计划程序注册替换为@Activate / @Deactivate生命周期方法。

ResourceChangeListener resource-change-listener

定位需要更新AEMaaCS的ResourceChangeListenerResourceChange侦听器实施。

BPA模式ID: resourceChangeListener

复制 replication

定位导入com.day.cq.replication.Replicator或相关复制API的类,AEMaaCS不支持这些类。 代理将它们替换为基于ContentDistribution的等效项,并更新相应的OSGi服务引用。

BPA模式ID: replication

事件侦听器 event-listener

定位必须针对AEMaaCS事件处理语义更新的OSGi EventListenerEventHandler实施。

BPA模式ID: eventListener

事件处理程序 event-handler

定位需要针对AEMaaCS调整的同步OSGi EventHandler服务。

BPA模式ID: eventHandler

资产API asset-api

使用已弃用AssetManagerDAMEvent或不支持的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

NOTE
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中应用,并在运行时插入;源代码控制中不存储任何值。

IMPORTANT
代理从不输出对话中的机密值。 所有敏感数据都会写入授权移交文件中,以供您通过Cloud Manager API或UI应用。

此模式不使用BPA CSV或CAM。 开始会话时间:

Scan my config files and create Cloud Manager environment secrets or variables.

BPA Source选项 bpa-source

来源
何时使用
BPA CSV文件
您已从AEM实例或Cloud Acceleration Manager导出CSV。 启动会话时提供文件路径。
通过MCP 摄像头
您已配置AEM云迁移MCP。 代理会列出您的CAM项目,确认要使用哪个项目,并直接获取调查结果。 请参阅使用云迁移MCP
手动文件路径
您要迁移特定文件而不使用BPA报告。 直接在提示符下提供路径。

MCP错误处理 mcp-errors

如果MCP连接返回错误(包括找不到项目或身份验证失败),代理将停止并显示错误。 它不会自动切换到另一个源。 从“已停止”状态,您可以:

  • 从显示代理的列表中确认正确的项目
  • 提供BPA CSV路径作为替代方法
  • 为手动迁移提供特定的Java文件路径

管理大型报表中的会话 large-reports

对于具有许多发现结果的BPA报表,逐批方法允许您逐步验证:

  1. 查看每个批次的差异
  2. 使用模式范围的提交消息提交批处理
  3. 回复continue以开始下一批处理
  4. 重复执行上述步骤,直到座席报告模式的所有查找结果都已完成

每个提交一个模式​可让您的Git历史记录保持可读性,并可以根据需要轻松还原各个模式转换。

NOTE
如果在处理所有发现结果之前结束会话,请在新会话中使用相同的模式和BPA源重新启动。 代理将从之前停止的位置继续。

Workspace范围 workspace-scope

代理仅在打开的IDE Workspace文件夹中搜索和编辑文件。 它不会扫描磁盘上的父目录、同级文件夹或其他位置。

如果BPA查找结果引用了工作区中不存在的文件路径,则代理将停止并告知您缺少哪些路径。 打开正确的项目文件夹或明确提供路径以继续。

recommendation-more-help
experience-manager-cloud-service-help-main-toc