Risolvere i problemi relativi alla pipeline CI/CD con l’agente di sviluppo AEM

Scopri come risolvere i problemi relativi a una pipeline CI/CD non riuscita utilizzando l’agente di sviluppo AEM.

AEM Development Agent consente ai team tecnici, inclusi sviluppatori, ingegneri DevOps e amministratori, di accelerare i propri flussi di lavoro fornendo indicazioni e azioni basate sull'intelligenza artificiale.

TIP
Vedi anche Panoramica degli agenti in AEM per un elenco completo degli agenti disponibili in AEM as a Cloud Service, delle loro funzionalità e di come puoi accedervi.

Panoramica

AEM Development Agent offre diverse funzionalità, tra cui la possibilità di elencare, risolvere e correggere i problemi relativi alle pipeline CI/CD non riuscite. Puoi richiamare l’agente di sviluppo AEM tramite l’Assistente AI per risolvere casi d’uso specifici.

Questo tutorial utilizza il progetto WKND Sites per dimostrare come risolvere i problemi relativi a una pipeline CI/CD non riuscita utilizzando AEM Development Agent. Gli stessi principi si applicano a qualsiasi progetto AEM.

Per semplicità, questo tutorial introduce un errore di unit test nel file BylineImpl.java per mostrare le funzionalità di risoluzione dei problemi della pipeline di AEM Development Agent.

Prerequisiti

Per seguire questa esercitazione, è necessario:

  • Assistente AI e agenti in AEM abilitati. Per informazioni dettagliate, consulta Configurare IA in AEM e tieni presente che i parchi gioco menzionati in tale articolo non dispongono delle funzionalità di AEM Development Agent.
  • Accesso a Adobe Cloud Manager con ruolo Sviluppatore o Responsabile del programma. Per ulteriori informazioni, vedere definizioni dei ruoli.
  • Un ambiente AEM as a Cloud Service
  • Accesso agli agenti in AEM tramite il programma Beta
  • Il progetto WKND Sites clonato nel computer locale

Funzionalità attuali di AEM Development Agent

Prima di iniziare l’esercitazione, esaminiamo le funzionalità attuali di AEM Development Agent:

  • Elencare le pipeline CI/CD e il loro stato
  • Risoluzione dei problemi e risoluzione dei problemi relativi a pipeline full stack non riuscite, inclusi i tipi di qualità codice e distribuzione.
  • Sono supportati i passaggi Build (completamento del codice per produrre un artefatto distribuibile) e Code Quality (analisi del codice statico tramite regole SonarQube) delle pipeline full-stack.

Le funzionalità di AEM Development Agent vengono continuamente espanse e aggiornate regolarmente. Per commenti e suggerimenti, invia un'e-mail a aem-devagent@adobe.com.

Configurazione

Segui questi passaggi di alto livello per completare questa esercitazione:

  1. Clona il progetto WKND Sites e invialo all'archivio Git di Cloud Manager
  2. Creare e configurare una pipeline di qualità del codice
  3. Eseguire la pipeline e osservare l’esecuzione non riuscita
  4. Utilizzare AEM Development Agent per risolvere i problemi relativi alla pipeline non riuscita

Passiamo a ogni passaggio nel dettaglio.

Usa progetto WKND Sites come progetto demo

Questa esercitazione utilizza il ramo tutorial/dev-agent/unit-test-failure del progetto WKND Sites per dimostrare come utilizzare l'agente di sviluppo AEM. Gli stessi principi possono essere applicati a qualsiasi progetto AEM.

  • Errore di unit test introdotto nel file BylineImpl.java nel modo seguente. Se utilizzi un tuo progetto AEM, puoi introdurre un errore simile di unit test.

    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;
    }
    ...
    
  • Clona il progetto WKND Sites nel computer locale, passa alla directory del progetto e passa al ramo 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
    
  • Crea un nuovo archivio Git di Cloud Manager per il progetto WKND Sites e aggiungilo come remoto all’archivio Git locale:

    • Passa a Adobe Cloud Manager e seleziona il tuo programma.

    • Fai clic su Archivi nella barra laterale a sinistra.

    • Fai clic su Aggiungi archivio nell'angolo superiore destro.

    • Immetti un Nome archivio (ad esempio, "wknd-site-tutorial") e fai clic su Salva. Attendi la creazione dell’archivio.

      Aggiungi archivio

    • Fai clic su Accedi a dati archivio nell'angolo in alto a destra e copia l'URL dell'archivio.

      Accedi a dati archivio

    • Aggiungi il nuovo archivio Git Cloud Manager creato come remoto all’archivio Git locale:

      code language-shell
      git remote add adobe https://git.cloudmanager.adobe.com/<your-adobe-organization>/wknd-site-tutorial/
      
  • Invia l’archivio Git locale all’archivio Git di Cloud Manager:

    code language-shell
    git push adobe
    

    Quando vengono richieste le credenziali, fornisci il Nome utente e la Password dal modale Informazioni archivio di Cloud Manager.

Creare e configurare una pipeline di qualità del codice

Questa esercitazione utilizza una pipeline di qualità del codice (non di produzione) per attivare l’errore della pipeline per la risoluzione dei problemi. Per ulteriori informazioni sulle pipeline di qualità del codice, consulta Introduzione alle pipeline CI/CD.

  • In Cloud Manager, passa alla sezione Pipeline e seleziona Aggiungi > Aggiungi pipeline non di produzione.

  • Nella finestra di dialogo Aggiungi pipeline non di produzione configura quanto segue:

    • Configurazione passaggio:

      • Mantieni i valori predefiniti come Tipo pipeline come Code Quality Pipeline e Trigger distribuzione come Manual.
      • Per Nome pipeline non di produzione, immetti Code Quality::Fullstack

      Aggiungi configurazione pipeline non di produzione

    • Codice Source passaggio:

      • Seleziona Codice full stack
      • Per l'archivio, selezionare il nuovo archivio Git di Cloud Manager creato
      • Per Ramo Git, seleziona tutorial/dev-agent/unit-test-failure
      • Fai clic su Salva

      Aggiungi codice Source pipeline non di produzione

  • Eseguire la pipeline di qualità del codice appena creata facendo clic su Esegui nel menu a tre punti della voce della pipeline.

    Esegui pipeline di qualità del codice

IMPORTANT
Questa esercitazione non tratta la pipeline di distribuzione. Tuttavia, puoi seguire gli stessi principi per risolvere i problemi relativi a una pipeline di distribuzione non riuscita.

Osservare l’esecuzione della pipeline non riuscita

La pipeline di qualità del codice non riesce nel passaggio Preparazione artefatto e restituisce un errore:

Esecuzione pipeline non riuscita

Senza l’agente di sviluppo AEM, questo errore della pipeline richiede la risoluzione manuale dei problemi. Uno sviluppatore deve controllare i registri e rivedere il codice, un processo lungo e laborioso.

Successivamente, scopri come l’intelligenza artificiale agente può risolvere i problemi e correggere l’esecuzione non riuscita della pipeline.

Utilizzare AEM Development Agent per risolvere i problemi e correggere la pipeline non riuscita

È possibile richiamare AEM Development Agent utilizzando l’Assistente all’intelligenza artificiale in AEM descrivendo l’errore della pipeline in linguaggio naturale.

  • Fai clic sull'icona Assistente AI in alto a destra.

  • Immetti i dettagli dell'errore della pipeline in linguaggio naturale, ovvero Prompt. Ad esempio:

    code language-text
    I have a failed pipeline execution on %PROGRAM-NAME% program, help me to troubleshoot and fix it.
    

    Richiama agente di sviluppo AEM

    L'agente di sviluppo AEM viene richiamato per la risoluzione dei problemi e la correzione dell'esecuzione della pipeline non riuscita.

    note note
    NOTE
    Se il prompt immesso non è chiaro, l'Assistente IA richiede chiarimenti e fornisce informazioni per aiutarti a perfezionare il prompt.
  • Al termine del ragionamento, fare clic sull'icona Apri a schermo intero per visualizzare la procedura dettagliata di risoluzione dei problemi.

    Apri a schermo intero

    I risultati contengono informazioni importanti, tra cui i dettagli dell'errore, il file di origine, il numero di riga e una sezione Come correggere con passaggi chiari per risolvere il problema.

  • In questo caso, l'agente ha suggerito correttamente di modificare l'implementazione (getName() metodo) o di aggiornare lo unit test (getNameTest() metodo) per risolvere il problema. Ha evitato le allucinazioni e ha utilizzato un approccio "human-in-the-loop" fornendo al contempo modifiche del codice utilizzabili per lo sviluppatore.

    Copia modifiche al codice

  • Aggiorna il file BylineImpl.java con le modifiche di codice suggerite, quindi esegui il commit e invia le modifiche all'archivio Git di Cloud Manager.

    code language-java
    ...
    @Override
    public String getName() {
        return name;
    }
    ...
    
  • Esegui nuovamente la pipeline e osserva l’esecuzione riuscita.

Esempi aggiuntivi

Il progetto WKND Sites include ulteriori esempi di problemi di codice e configurazione interrotti, ad esempio dipendenze mancanti e configurazione errata. Puoi esplorare questi esempi estraendo i rami che iniziano con tutorial/dev-agent/. Per visualizzare le modifiche di interruzione, è possibile confrontare il ramo tutorial/dev-agent/unit-test-failure con quello main facendo clic sul pulsante Confronta. Cercare quindi la sezione file modificato.

Confronta rami

Vedi anche Esempi di prompt per ulteriori idee su come utilizzare l'agente di sviluppo AEM.

In questo tutorial, hai imparato a utilizzare AEM Development Agent per risolvere i problemi relativi a una pipeline CI/CD non riuscita utilizzando l’Assistente all’intelligenza artificiale. Hai anche imparato come l’intelligenza artificiale dinamica accelera i flussi di lavoro tecnici fornendo informazioni fruibili e modifiche al codice.

Inizia a utilizzare AEM Development Agent e altri agenti in AEM per accelerare i flussi di lavoro. Per ulteriori informazioni, consulta Panoramica degli agenti in AEM.

Risorse aggiuntive

recommendation-more-help
4859a77c-7971-4ac9-8f5c-4260823c6f69