自定义用于代码转换的 CI/CD 管道 - Amazon Q 开发者版

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

自定义用于代码转换的 CI/CD 管道

用于代码转换的 Amazon Q 会通过静态分析实现部分功能,这不仅需要项目源代码,还需提供编译依赖项和测试范围依赖项。的代码转换 GitLab 使用 C GitLab I/CD 作业来提供对这些依赖项的访问权限。

在为项目调用代码转换功能前,需满足以下条件:

  • 至少有一名GitLab 跑步者

  • 项目上必须启用 CI/CD 功能。

  • 在项目的默认分支上已提交 .gitlab-ci.yml 文件。

自定义用于代码转换的 CI/CD 管道

  1. 如果您的项目还没有 C GitLab I/CD 管道,请使用提供的Maven.gitlab-ci.yml模板创建一个。 GitLab有关更多信息,请参阅创建项目管道

  2. 使用以下代码更新 .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-* 开头时,该任务才会运行;打开合并请求时,不触发此运行规则。