Personalización de una canalización de CI/CD para la transformación del código - Amazon Q Developer

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Personalización de una canalización de CI/CD para la transformación del código

nota

GitLab Duo with Amazon Q se encuentra en versión preliminar y está sujeta a cambios.

Amazon Q para la transformación de código ofrece algunas de sus capacidades mediante el análisis estático, y esto requiere que se proporcionen las dependencias del ámbito de compilación y prueba además del código fuente del proyecto. La transformación de código GitLab utiliza un trabajo de GitLab CI/CD para proporcionar acceso a esas dependencias.

Antes de poder invocar la transformación de código para su proyecto, necesita lo siguiente:

  • Al menos un GitLab Runner.

  • La función CI/CD debe estar habilitada en el proyecto.

  • Un .gitlab-ci.yml compromiso en la rama predeterminada del proyecto.

Para personalizar una canalización de CI/CD para la transformación del código

  1. Si su proyecto aún no tiene una canalización de GitLab CI/CD, cree una con la Maven.gitlab-ci.yml plantilla proporcionada por. GitLab Para obtener más información, consulta Crear una canalización de proyectos. .

  2. Actualice el .gitlab-ci.yml archivo con la siguiente tarea:

    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 primera mvn invocación valida que el proyecto se compila antes de que la transformación del código de Amazon Q intente procesarlo. El objetivo puede ser test-compile, test, integration-test o verify.

    • La segunda mvn invocación copia las dependencias del proyecto en un directorio provisional para incluirlas como artefactos de trabajo.

    • La artifacts sección carga las dependencias copiadas para que se pueda acceder a ellas mediante la transformación del código de Amazon Q.

    • La rules sección configura este trabajo para que solo se ejecute en los nombres de las ramas que comiencen q/transform-* cuando se envíe una nueva confirmación. Este no es el caso cuando se abre una solicitud de fusión.