Personalização de um pipeline de CI/CD para transformação de código - Amazon Q Developer

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Personalização de um pipeline de CI/CD para transformação de código

O Amazon Q para transformação de código executa alguns de seus recursos usando análise estática, e isso exige que as dependências do escopo de compilação e teste sejam fornecidas além do código-fonte do projeto. A transformação de código para GitLab usa uma tarefa de GitLab CI/CD para fornecer acesso a essas dependências.

Antes de invocar a transformação de código para seu projeto, você precisa do seguinte:

  • Pelo menos um GitLab corredor.

  • O recurso CI/CD deve estar ativado no projeto.

  • Um .gitlab-ci.yml commit na ramificação padrão do projeto.

Para personalizar um pipeline de CI/CD para transformação de código

  1. Se seu projeto ainda não tiver um pipeline de GitLab CI/CD, crie um usando o Maven.gitlab-ci.yml modelo fornecido por. GitLab Para obter mais informações, consulte Criar um pipeline de projeto. .

  2. Atualize o .gitlab-ci.yml arquivo com a seguinte tarefa:

    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
    • A primeira mvn invocação valida que seu projeto compila antes que a transformação do Amazon Q code tente processá-lo. O objetivo pode ser testar-compilar, testar, testar integração-teste ou verificar.

    • A segunda mvn invocação copia as dependências do projeto em um diretório de preparação para incluí-las como artefatos do trabalho.

    • A artifacts seção carrega as dependências copiadas para que elas possam ser acessadas pela transformação do Amazon Q code.

    • A rules seção configura esse trabalho para ser executado somente em nomes de ramificações que começam com q/transform-* quando um novo commit é enviado. Esse não é o caso quando uma solicitação de mesclagem é aberta.