Personnalisation d'un pipeline CI/CD pour la transformation du code - Amazon Q Developer

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Personnalisation d'un pipeline CI/CD pour la transformation du code

Note

GitLab Duo with Amazon Q est en version préliminaire et est susceptible d'être modifiée.

Amazon Q pour la transformation du code exécute certaines de ses fonctionnalités à l'aide d'une analyse statique, ce qui nécessite que vos dépendances de compilation et de portée de test soient fournies en plus du code source de votre projet. La transformation de code pour GitLab utilise une tâche GitLab CI/CD pour fournir un accès à ces dépendances.

Avant de pouvoir invoquer la transformation de code pour votre projet, vous devez disposer des éléments suivants :

  • Au moins un GitLab coureur.

  • La fonction CI/CD doit être activée sur le projet.

  • Un .gitlab-ci.yml commit sur la branche par défaut du projet.

Pour personnaliser un pipeline CI/CD pour la transformation de code

  1. Si votre projet ne possède pas encore de pipeline GitLab CI/CD, créez-en un à l'aide du Maven.gitlab-ci.yml modèle fourni par. GitLab Pour plus d'informations, voir Création d'un pipeline de projets. .

  2. Mettez à jour le .gitlab-ci.yml fichier avec la tâche suivante :

    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
    • Le premier mvn appel confirme que votre projet est compilé avant que la transformation du code Amazon Q ne tente de le traiter. L'objectif peut être de tester, compiler, tester, tester d'intégration ou vérifier.

    • La deuxième mvn invocation copie les dépendances du projet dans un répertoire intermédiaire pour les inclure en tant qu'artefacts de tâche.

    • La artifacts section télécharge les dépendances copiées afin qu'elles soient accessibles par le biais de la transformation du code Amazon Q.

    • La rules section configure cette tâche pour qu'elle ne s'exécute que sur des noms de branches commençant par le q/transform-* moment où un nouveau commit est envoyé. Ce n'est pas le cas lorsqu'une demande de fusion est ouverte.