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
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
-
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.. -
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 comq/transform-*
quando um novo commit é enviado. Esse não é o caso quando uma solicitação de mesclagem é aberta.
-