本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
自定义 CI/CD 管道以进行代码转换
注意
GitLab Duo with Amazon Q 处于预览版,可能会发生变化。
用于代码转换的 Amazon Q 使用静态分析来执行其部分功能,这要求除了项目源代码之外还提供您的编译和测试范围依赖关系。的代码转换 GitLab 使用 C GitLab I/CD
在为项目调用代码转换之前,您需要满足以下条件:
-
至少有一名GitLab 跑步者
。 -
必须在项目上启用 CI/CD 功能。
-
在项目的默认分支上
.gitlab-ci.yml
提交的。
自定义 CI/CD 管道以进行代码转换
-
如果您的项目还没有 C GitLab I/CD 管道,请使用提供的
Maven.gitlab-ci.yml
模板创建一个。 GitLab有关更多信息,请参阅创建项目管道。。 -
使用以下任务更新
.gitlab-ci.yml
文件: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
-
在 Amazon Q 代码转换尝试处理项目之前,第一次
mvn
调用验证项目是否已编译。目标可能是测试编译、测试、集成测试或验证。 -
第二次
mvn
调用将项目依赖关系复制到暂存目录,以将其作为作业工件包括在内。 -
该
artifacts
部分上传复制的依赖项,这样 Amazon Q 代码转换就可以访问它们。 -
本
rules
节将此作业配置为仅在以推送新提交q/transform-*
时开头的分支名称上运行。当打开合并请求时,情况并非如此。
-