使用AEM Development Agent疑難排解CI/CD管道
瞭解如何使用AEM開發代理程式來疑難排解和修正失敗的CI/CD管道。
AEM開發代理程式可協助技術團隊(包括開發人員、DevOps工程師和管理員)提供AI支援的指引和動作,以加速其工作流程。
概觀
AEM Development Agent提供數種功能,包括列出、疑難排解及修正失敗的CI/CD管道的功能。 您可以透過AI Assistant叫用AEM開發代理程式,以解決您的特定使用案例。
本教學課程使用WKND Sites專案來示範如何使用AEM開發代理程式來疑難排解和修正失敗的CI/CD管道。 同樣的原則適用於任何AEM專案。
為簡化起見,本教學課程在BylineImpl.java檔案中介紹單元測試失敗,以展示AEM開發代理程式的管道疑難排解功能。
先決條件
若要按照本教學課程進行學習,您需要:
- AEM中的AI助理和代理程式已啟用。 參閱在AEM中設定AI以取得詳細資料,並注意該文章中提到的遊樂場將不具有AEM開發代理程式功能。
- 使用開發人員或方案管理員角色存取Adobe Cloud Manager。 如需詳細資訊,請參閱角色定義。
- AEM as a Cloud Service環境
- 透過Beta程式存取AEM中的代理程式
- WKND Sites專案已複製至您的本機電腦
AEM Development Agent的目前功能
在深入了解教學課程之前,請先檢閱AEM Development Agent的目前功能:
- 列出CI/CD管道及其狀態
- 疑難排解並修正失敗的 完整棧疊 管道,包括 程式碼品質 和 部署 型別。
- 支援 完整棧疊 管道的建置 (程式碼編譯以產生可部署成品)和程式碼品質 (透過SonarQube規則進行靜態程式碼分析)步驟。
AEM Development Agent的功能會持續擴充和定期更新。 如需意見與建議,請傳送電子郵件至aem-devagent@adobe.com。
設定
請依照下列高階步驟完成本教學課程:
- 複製WKND Sites專案,並將其推送至您的Cloud Manager Git存放庫
- 建立及設定程式碼品質管道
- 執行管道並觀察失敗的執行
- 使用AEM開發代理程式來疑難排解並修正失敗的管道
以下逐一詳細介紹每個步驟。
使用WKND Sites專案作為示範專案
本教學課程使用WKND Sites專案的tutorial/dev-agent/unit-test-failure分支來示範如何使用AEM開發代理程式。 同樣的原則可套用至任何AEM專案。
-
BylineImpl.java檔案已引入單元測試失敗,如下所示。 如果您使用自己的AEM專案,可以引入類似的單元測試失敗。code language-java ... @Override public String getName() { if (name != null) { return "Author: " + name; // This line is intentionally incorrect to introduce a unit test failure. } return name; } ... -
將WKND Sites專案複製至您的本機電腦,導覽至專案目錄,然後切換至
tutorial/dev-agent/unit-test-failure分支。code language-shell git clone https://github.com/adobe/aem-guides-wknd.git cd aem-guides-wknd git checkout tutorial/dev-agent/unit-test-failure -
為WKND Sites專案建立新的Cloud Manager Git存放庫,並將其新增為本機Git存放庫的遠端:
-
導覽至Adobe Cloud Manager並選取您的程式。
-
按一下左側邊欄中的存放庫。
-
按一下右上角的新增存放庫。
-
輸入存放庫名稱 (例如「wknd-site-tutorial」),然後按一下儲存。 等待建立存放庫。
-
按一下右上角的存取存放庫資訊,並複製存放庫URL。
-
將新建立的Cloud Manager Git存放庫新增為遠端,並移至您的本機Git存放庫:
code language-shell git remote add adobe https://git.cloudmanager.adobe.com/<your-adobe-organization>/wknd-site-tutorial/
-
-
將您的本機Git存放庫推送到Cloud Manager Git存放庫:
code language-shell git push adobe出現認證提示時,請提供Cloud Manager 存放庫資訊強制回應視窗中的 使用者名稱 和密碼。
建立及設定程式碼品質管道
本教學課程使用程式碼品質管道(非生產)來觸發管道失敗,以進行疑難排解。 如需程式碼品質管道的詳細資訊,請參閱 CI/CD管道簡介。
-
在Cloud Manager中,導覽至 管道 區段並選取新增 > 新增非生產管道。
-
在 新增非生產管道 對話方塊中,設定下列專案:
-
設定步驟:
- 保留預設值,例如 管道型別 為
Code Quality Pipeline,部署觸發程式為Manual。 - 對於非生產管道名稱,請輸入
Code Quality::Fullstack
- 保留預設值,例如 管道型別 為
-
Source程式碼步驟:
- 選取完整棧疊代碼
- 針對存放庫,選取新建立的Cloud Manager Git存放庫
- 針對Git分支,請選取
tutorial/dev-agent/unit-test-failure - 按一下「儲存」
-
-
按一下管道專案的三點式功能表中的執行,執行新建立的程式碼品質管道。
觀察失敗的管道執行
程式碼品質管道在 成品準備 步驟中失敗,並出現錯誤:
如果沒有AEM Development Agent,此管道失敗需要手動疑難排解。 開發人員需要檢查記錄並檢視計畫碼,這是一個繁瑣且耗時的過程。
接下來,您會看到Agentic AI如何疑難排解並修正失敗的管道執行。
使用AEM開發代理程式來疑難排解並修正失敗的管道
您可以透過以自然語言描述管道失敗,使用AEM中的AI助理叫用AEM開發代理程式。
-
按一下右上角的 AI助理 圖示。
-
以自然語言(亦即提示)輸入管道失敗詳細資料。 例如:
code language-text I have a failed pipeline execution on %PROGRAM-NAME% program, help me to troubleshoot and fix it.
已叫用AEM開發代理程式,以疑難排解並修正失敗的管道執行。
note note NOTE 如果輸入的提示不清楚,「AI助理」會要求您澄清並提供資訊,以協助您調整提示。 -
推理完成後,按一下 全熒幕開啟 圖示以檢視詳細的疑難排解程式。
結果包含有價值的深入分析,包括錯誤詳細資料、來源檔案、行號及 如何修正 區段,並提供解決問題的明確步驟。
-
在此情況下,代理程式正確地建議變更實作(
getName()方法)或更新單元測試(getNameTest()方法)以修正問題。 它避免幻覺,使用人在迴路的方法,同時為開發人員提供可操作的程式碼變更。
-
使用建議的程式碼變更更新
BylineImpl.java檔案,然後提交變更並推送到Cloud Manager Git存放庫。code language-java ... @Override public String getName() { return name; } ... -
再次執行管道並觀察成功執行。
其他範例
WKND Sites專案包括其他程式碼中斷和設定問題的範例,例如遺漏相依性和不正確的設定。 您可以檢視以tutorial/dev-agent/開頭的分支,以探索這些範例。 若要檢視重大變更,您可以按一下「tutorial/dev-agent/unit-test-failure比較main」按鈕,比較 分支與 分支。 然後尋找 變更的檔案 區段。
另請參閱範例提示,以取得有關如何使用AEM Development Agent的更多概念。
摘要
在本教學課程中,您已瞭解如何使用AEM開發代理程式,透過AI助理對失敗的CI/CD管道進行疑難排解和修正。 您也瞭解到Agentic AI如何透過提供可操作的見解和程式碼變更來加速技術工作流程。
開始使用AEM中的AEM開發代理程式和其他代理程式來加速您的工作流程,如需詳細資訊,請參閱AEM代理程式概觀。