本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
自定义用于代码转换的 CI/CD 管道
用于代码转换的 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-
第一个
mvn调用:在 Amazon Q 代码转换尝试处理项目前,验证项目是否可编译。目标可设为 test-compile、test、integration-test 或 verify 中的任意一个。 -
第二个
mvn调用:将项目依赖项复制到暂存目录,并将其作为任务构件包含在内。 -
artifacts部分:上传复制的依赖项,以便 Amazon Q 代码转换功能可访问这些依赖。 -
rules部分:配置该任务的运行规则,仅当推送新提交且分支名称以q/transform-*开头时,该任务才会运行;打开合并请求时,不触发此运行规则。
-