AEM Development Agent を使用した CI/CD Pipeline のトラブルシューティング
AEM Development Agent を使用して、失敗した CI/CD パイプラインのトラブルシューティングと修正方法について説明します。
AEM Development Agent は、開発者、DevOps エンジニア、管理者などの技術チームが AI を活用したガイダンスとアクション を提供することで、ワークフローを 高速化 するのに役立ちます。
概要
AEM Development Agent には、失敗した CI/CD パイプラインの一覧表示、トラブルシューティング、修正機能を含む、複数の機能があります。 AI アシスタントを通じてAEM Development Agent を呼び出し、特定の使用例に対処することができます。
このチュートリアルでは WKND Sites プロジェクト を使用して、AEM Development Agent で失敗した CI/CD パイプラインのトラブルシューティングおよび修正方法を示します。 同じ原則が、あらゆるAEM プロジェクトに当てはまります。
簡単にするために、このチュートリアルでは、AEM Development Agent のパイプライントラブルシューティング機能を紹介する単体テストのエラーを BylineImpl.java ファイルで紹介します。
前提条件
このチュートリアルに従うには、以下が必要です。
- AEMの AI アシスタントとエージェントを有効にしました。 詳しくは、AEMでの AI の設定 を参照してください。また、この記事に記載されているプレイグラウンドには、AEM Development Agent の機能がないことに注意してください。
- 開発者またはプログラムマネージャーの役割でAdobe 0}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 Development Agent を使用して、失敗したパイプラインのトラブルシューティングと修正を行います
各手順を詳しく説明します。
WKND Sites プロジェクトをデモプロジェクトとして使用
このチュートリアルでは、WKND Sites プロジェクトの tutorial/dev-agent/unit-test-failure ブランチを使用して、AEM Development Agent の使用方法を示します。 同じ原則を任意の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 サイトプロジェクト用の新しい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」を選択します - 「保存」をクリックします。
-
-
パイプラインエントリの 3 ドットメニューにある「実行 をクリックして、新しく作成したコード品質パイプラインを実行します。
失敗したパイプラインの実行を確認します
アーティファクトの準備 ステップでコード品質パイプラインが失敗し、次のエラーが表示されます。
AEM Development Agent がない場合、このパイプラインのエラーは手動のトラブルシューティングが必要です。 開発者は、ログを確認し、コードを確認する必要があります。これは面倒で時間のかかるプロセスです。
次に、失敗したパイプライン実行のトラブルシューティングと修正を Agentic AI で行う方法を確認します。
AEM Development Agent を使用して、失敗したパイプラインのトラブルシューティングと修正をおこないます
AEMで AI アシスタントを使用してAEM Development Agent を呼び出すことができます。そのためには、パイプラインのエラーを自然言語で記述します。
-
右上隅にある 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()の方法)かを正しく提案しました。 幻覚を避け、開発者に実用的なコード変更を提供しながら、Human-in-the-Loop アプローチを使用しました。
-
BylineImpl.javaファイルを推奨されるコード変更で更新し、変更内容をコミットしてCloud Manager Git リポジトリにプッシュします。code language-java ... @Override public String getName() { return name; } ... -
パイプラインを再度実行し、正常に実行されたことを確認します。
その他の例
WKND Sites プロジェクトには、依存関係の欠如や間違った設定など、コードの破損や設定の問題の例がさらに含まれています。 これらの例は、tutorial/dev-agent/ で始まる branch をチェックアウトすることで確認できます。 重大な変更を確認するには、「tutorial/dev-agent/unit-test-failure 比較 main ボタンをクリックして、ブランチと ブランチを比較します。 次に、変更されたファイル セクションを探します。
AEM Development Agent の使用方法について詳しくは、 サンプルプロンプト も参照してください。
概要
このチュートリアルでは、AEM Development Agent を使用して、AI アシスタントで失敗した CI/CD パイプラインのトラブルシューティングと修正を行う方法を学びました。 また、Agentic AI が、実用的なインサイトとコード変更を提供することで、テクニカルワークフローを加速させる方法についても学びました。
AEM Development Agent およびAEMのその他のエージェントを使用してワークフローを高速化します。詳しくは、AEMのエージェントの概要 を参照してください。