Personnalisation d'un CI/CD pipeline 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 CI/CD pipeline pour la transformation du code

Amazon Q pour la transformation du code exécute certaines de ses capacités à l’aide d’une analyse statique. C’est pourquoi vos dépendances de compilation et de portée de test doivent être 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 une transformation de code pour votre projet, vous avez besoin de ce qui suit :

  • Au moins un GitLab coureur.

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

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

Pour personnaliser un CI/CD pipeline pour la transformation du 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, consultez Création d’un pipeline de projet.

  2. Mettez à jour le fichier .gitlab-ci.yml avec le code suivant :

    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 première invocation mvn 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 l’intégration ou vérifier.

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

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

    • La section rules configure cette tâche pour qu’elle soit exécutée uniquement sur des noms de branches commençant par q/transform-* lorsqu’une nouvelle validation est envoyée. Ce n’est pas le cas lorsqu’une demande de fusion est ouverte.