Personalizzazione di una CI/CD pipeline per la trasformazione del codice - Amazon Q Developer

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Personalizzazione di una CI/CD pipeline per la trasformazione del codice

Per la trasformazione del codice, Amazon Q esegue alcune delle sue funzionalità utilizzando l’analisi statica e questo richiede la disponibilità delle dipendenze nell’ambito di compilazione e test, oltre al codice sorgente del progetto. Code transformation for GitLab utilizza un processo GitLab CI/CD per fornire l'accesso a tali dipendenze.

Prima di poter invocare la trasformazione del codice per il progetto, sono necessari i seguenti elementi:

  • Almeno un Runner. GitLab

  • La funzionalità CI/CD deve essere abilitata nel progetto.

  • Un .gitlab-ci.yml con commit sul ramo predefinito del progetto.

Per personalizzare una CI/CD pipeline per la trasformazione del codice

  1. Se il tuo progetto non ha già una pipeline GitLab CI/CD, creane una utilizzando il Maven.gitlab-ci.yml modello fornito da. GitLab Per ulteriori informazioni, consulta Create a project pipeline.

  2. Aggiorna il file .gitlab-ci.yml con il processo seguente:

    q-code-transformation: stage: build script: - 'mvn $MAVEN_CLI_OPTS test-compile' - 'mvn $MAVEN_CLI_OPTS dependency:copy-dependencies -DoutputDirectory=dependencies -Dmdep.useRepositoryLayout=true -Dmdep.copyPom=true -Dmdep.addParentPoms=true' artifacts: name: q-code-transformation-dependencies paths: - dependencies/* rules: - if: $CI_COMMIT_REF_NAME =~ /^q\/transform-/ && $CI_PIPELINE_SOURCE == 'push' when: always
    • La prima invocazione mvn verifica che il progetto venga compilato prima ancora che la trasformazione del codice Amazon Q tenti di elaborarlo. L’obiettivo può essere quello di eseguire test-compile, test, integration-test o verifica.

    • La seconda invocazione mvn copia le dipendenze del progetto in una directory di staging per includerle come artefatti del processo.

    • La sezione artifacts carica le dipendenze copiate in modo che sia possibile accedervi tramite la trasformazione del codice di Amazon Q.

    • La sezione rules configura questo processo in modo che venga eseguito solo su nomi di rami che iniziano con q/transform-* quando viene inviato un nuovo commit. Questo non accade quando viene aperta una richiesta di unione.