如何在 AEM 云服务和 AEM 托管服务上跟踪 Cloud Manager 构建日志
部署到 AEM 云服务时 AEM 的云管理器是什么样子
重要提示:日志注意事项和限制
目前,使用 Adobe I/O 跟踪构建日志存在一些注意事项和限制(当然可能会发生变化):
- 您只能跟踪“构建和单元测试”步骤: 您可以跟踪的唯一执行日志是“构建和单元测试”步骤,在此步骤中签出、构建和测试您的代码。这也适用于“Web 层”管道。这意味着您无法获得代码质量测试步骤的逐步结果,或者在失败时输出并等待用户交互。此外,尽管有时这是一个长达 45 分钟的执行步骤,但实际 部署 代码并将其放到服务器上的步骤无法在云服务上进行跟踪。
- Splunk 中未包含的日志:如果您选择将 AEM 云服务日志发送到 Splunk,则您跟踪的这些日志不会包含在您获得的 Splunk 输出中(有关详细信息,请参阅文章)。这意味着,除非我们找到一种方法将 AIO 日志尾部直接传送到 Splunk,否则如果您想查看一个构建与另一个构建的比较情况等,就无法将时间戳与日志输出关联起来。
因此,以下是在 AEM 作为云服务环境中查看尾部日志的步骤:
步骤 1:Cloud Manager 的 Adobe IO 访问
您要检查的第一步是确保您的 Adobe 帐户具有使用 Cloud Manager 在 Adobe IO 上创建服务集成的权限。如果您使用 Adobe ID 前往https://console.adobe.io并创建新项目,请选择“添加 API”。您应该在可用集成列表中的 Experience Cloud 下看到“Cloud Manager”。
如果您拥有 Cloud Manager 访问权限,Adobe IO 控制台应该是什么样子
如果您在其中没有看到 Cloud Manager(就像我一开始没有看到的那样),请向您的 Adobe 销售代表或 SPP 帮助(在沙盒实例的情况下)发送电子邮件,他们可以帮您解决问题。
步骤 2:为您的云管理器(和日志)访问创建 Adobe IO 项目
然后,您需要创建一个公钥/私钥对,以生成一个新的服务帐户(JWT)凭证,稍后您将使用该凭证使您的 Adobe IO 控制台以您的身份向您的 Cloud Manager 环境进行身份验证。确保将此公钥/私钥对保存在本地,因为您很快就会需要它。
然后,告诉集成它将访问哪些服务:
然后点击“保存已配置的 API”。
步骤 3:安装 Adobe IO Runtime
本页提供了安装 Adobe IO 运行时的完整安装说明。简而言之,在工作站上安装 NodeJS 后,您可以:
$ npm install -g @adobe/aio-cli
安装后,您应该看到:
$ aio -v
@adobe/aio-cli/3.5.0 win32-x64 node-v12.18.0
步骤 4:安装并配置 Adobe IO Cloud Manager CLI 插件
完整的安装说明在这里,简而言之,运行:
$ aio 插件:安装@adobe/aio-cli-plugin-cloudmanager
然后,安装完成后,您需要从创建的 Adobe IO 集成中获取元素,并将它们粘贴到可用于配置云管理器的 config.json 文件中。它将包括:
//config.json
{
"client_id": "来自您的 CLI 集成的值(字符串)",
"client_secret": "来自您的 CLI 集成的值(字符串)",
"jwt_payload": {来自 CLI 集成的值(JSON 对象文字)},
"token_exchange_url": "https://ims-na1.adobelogin.com/ims/exchange/jwt"}
将该文件放在您的工作站上,然后运行以下命令来配置凭据:
aio 配置:设置 jwt-auth PATH_TO_CONFIG_JSON_FILE --file --json
然后告诉它您从上面的 Adobe IO 保存的私人证书:
aio 配置:设置 jwt-auth.jwt_private_keyPATH_TO_PRIVATE_KEY_FILE --文件
步骤5:告诉AIO你的默认程序是什么
接下来,告诉 Adobe IO 运行时您的“默认程序”是什么。在 AEM 云服务中,“程序”是构成单个 Web 属性的环境的集合。导航到 my.cloudmanager.adobe.com,登录后,您将看到一个 URL,例如“https://experience.adobe.com/#/@the_cool_name_of_my_company/cloud-manager/home.html/program/{PROGRAM_NUMBER}”
末尾的数字是您的程序编号,您可以像这样告诉 AIO(假设“1234”是您的程序 ID):
$ aio 配置:设置 cloudmanager_programid 1234
步骤 6:从 AIO 开始构建并复制构建 ID
使用 aio cloudmanager查看可用管道列表列出管道 命令:
tad@tad-Precision-7750:~/OneDrive/ICF/aio/config$ aio cloudmanager:program:列出管道
管道 ID 名称 状态
──────────────────────────────────────────────────────────
7239327 仅限 Web 层繁忙
4042555 非生产管道空闲
1023673 仅限非生产代码 - DEV IDLE
299672 非生产代码质量管道[PT] IDLE
298825 生产管道空闲
298163 非生产管道空闲
假设您想要跟踪全栈非生产管道的构建日志。在这种情况下,上面列表中的管道 ID 为“4042555”。
然后,您可以使用 aio cloudmanager启动该管道创建执行 命令:
tad@tad-Precision-7750:~/OneDrive/aio/config$ aio cloudmanager:pipeline:创建执行 4042555
开始执行...已开始执行 ID 4042555
然后可以看到用 aiocloudmanager启动执行列出当前执行 命令:
tad@tad-Precision-7750:~/OneDrive/aio/config$ aio cloudmanager:program:列出当前执行情况
管道 ID 执行 ID 开始时间 执行状态 触发器 当前步骤操作 当前步骤状态
──────────── ──────────────────────────────────────────────────────────────────────────────────────────────────────────────
4042555 198305 2022年3月8日 下午3:50 运行手册 构建运行
步骤 7:使用 AIO 跟踪构建日志
然后,一旦执行开始,您就可以使用命令 aio cloudmanager tail-step-log 使用构建 ID 来跟踪构建日志:
tad@tad-Precision-7750:~/OneDrive/aio/config$ aio cloudmanager:execution:尾步日志 4042555
2022年3月9日:15:38+0000 以下构建工件是从管道 4043554 的先前执行 1132597 中重复使用的,该执行使用了提交 38xxxfe09abc93e08073fa1735924f164:
2022年3月9日:15:38+0000 * build/mycorp.all-1.0.0-SNAPSHOT.zip(内容包)
2022年3月9日:15:38+0000 * build/core-components-accelerator.all-1.0.0-SNAPSHOT.zip(内容包)
2022年3月9日:15:38+0000 * build/mycorp.it.tests-1.0.0-SNAPSHOT-jar-with-dependencies.jar (功能测试)
就这样!如果您遇到任何麻烦,或者您最终找到将这些日志放入 Splunk 的方法,请告诉我!
关于作者

喜欢你听到的吗?对于什么适合您有疑问吗?我们很乐意与您沟通!联系我们
播客节目

播客:AEM 平台选择的十字路口 - AEM 6.5、AEMaaCS 和 EDS
Arbory Digital 现在有一个技术 AEM 播客!Raf 和 Tad 深入探讨如何确定您拥有合适的数字体验平台

自托管 Aem 仍然存在吗?
在 Adobe 之外托管 Adobe Experience Manager 是否仍有可能(或建议)?泰德·里夫斯 (Tad Reeves) 和乔伊·史密斯 (Joey Smith) 参与其中!

Adobe 峰会 2023 – 新品发布及会议回顾
Tad Reeves 和 Hank Thobe 回顾了他们在 2023 年 Adobe 峰会上的经历。我们回顾峰会的公告及更多内容!