AEM Development Agentを使用したCI/CD パイプラインのトラブルシューティング

AEM Development Agentを使用して、失敗したCI/CD パイプラインをトラブルシューティングおよび修正する方法を説明します。

AEM Development Agentは、AIを活用したガイダンスとアクション​を提供することで、開発者、DevOps エンジニア、管理者などの技術部門が​ ワークフローを高速化 ​できるよう支援します。

TIP
AEM as a Cloud Serviceで使用可能なエージェントの一覧、その機能、およびアクセス方法については、AEMのエージェントの概要も参照してください。

概要

AEM Development Agentには、失敗したCI/CD パイプラインの一覧表示、トラブルシューティング、修正など、いくつかの機能が用意されています。 AI アシスタントを通じてAEM Development Agentを呼び出し、特定のユースケースに対処できます。

このチュートリアルでは、WKND Sites プロジェクト ​を使用して、AEM Development Agentを使用して失敗したCI/CD パイプラインをトラブルシューティングおよび修正する方法を示します。 AEMのプロジェクトにも同じ原則が適用されます。

簡単にするために、このチュートリアルでは、BylineImpl.java ファイルに単体テストの失敗を導入して、AEM Development Agentのパイプラインのトラブルシューティング機能を紹介します。

前提条件

このチュートリアルに従うには、以下が必要です。

  • AEMのAI アシスタントとエージェントが有効になりました。 詳しくは、AEMでのAIの設定を参照してください。この記事に記載されているプレイグラウンドには、AEM Development Agent機能はありません。
  • デベロッパーまたはプログラムマネージャーの役割で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まで電子メールでお問い合わせください。

セットアップ

このチュートリアルを完了するには、次の手順に従います。

  1. WKND Sites プロジェクト ​を複製し、Cloud Manager Git リポジトリにプッシュします
  2. コード品質パイプラインの作成と設定
  3. パイプラインを実行し、失敗した実行を確認します
  4. 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 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で、パイプライン セクションに移動し、追加 > 実稼動以外のパイプラインを追加​を選択します。

  • 実稼動以外のパイプラインを追加 ダイアログで、次の設定を行います。

    • 設定 ステップ:

      • Pipeline Type​のようなデフォルト値はCode Quality Pipelineとして、デプロイメントトリガー​はManualとして保持します。
      • 実稼動以外のパイプライン名​の場合、Code Quality::Fullstackと入力します

      実稼動以外のパイプライン設定を追加

    • Source コード ステップ:

      • フルスタックコード​を選択
      • Repository​で、新しく作成したCloud Manager Git リポジトリを選択します
      • Git Branch​の場合、tutorial/dev-agent/unit-test-failureを選択します
      • 保存」をクリックします。

      実稼動以外のパイプラインのSource コードを追加

  • パイプラインエントリの3 ドットメニューの​ 実行 ​をクリックして、新しく作成したコード品質パイプラインを実行します。

    ​ コード品質パイプラインの実行

IMPORTANT
デプロイメントパイプラインについては、このチュートリアルでは説明しません。 ただし、同じ原則に従って、失敗したデプロイメントパイプラインのトラブルシューティングと修正を行うことができます。

失敗したパイプライン実行の監視

コード品質パイプラインが​アーティファクト準備 ステップで失敗し、エラーが発生します。

​ パイプラインの実行に失敗しました

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 Development Agentを呼び出す

    失敗したパイプライン実行のトラブルシューティングと修正を行うために、AEM Development Agent​が呼び出されます。

    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 Development Agentを使用して、AI アシスタントを使用して失敗したCI/CD パイプラインをトラブルシューティングおよび修正する方法を学習しました。 また、エージェンティック AIによって、実用的なインサイトの提供やコードの変更を行うことで、テクニカルワークフローを高速化する方法についても学びました。

AEM Development AgentとAEMの他のAgentsを使用して、ワークフローを高速化する方法について詳しくは、AEMのAgentsの概要を参照してください。

その他のリソース

recommendation-more-help
experience-manager-learn-help-cloud-service