自訂 CI/CD 管道以進行程式碼轉換 - Amazon Q Developer

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

自訂 CI/CD 管道以進行程式碼轉換

用於程式碼轉換的 Amazon Q 會使用靜態分析執行其部分功能,此時除了專案原始程式碼之外,您還需要提供編譯和測試範圍相依性。GitLab 的程式碼轉換會使用 GitLab CI/CD 任務來提供這些相依性的存取權。

您需要先備妥以下各項,才能為專案調用程式碼轉換:

  • 至少一個 GitLab Runner

  • 必須在專案上啟用 CI/CD 功能。

  • 在專案的預設分支上遞交的 .gitlab-ci.yml

若要自訂 CI/CD 管道以進行程式碼轉換

  1. 如果您的專案還沒有 GitLab CI/CD 管道,請使用 GitLab 提供的 Maven.gitlab-ci.yml 範本建立一個管道。如需詳細資訊,請參閱建立專案管道

  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-* 的分支名稱執行。當合併請求開啟時,並非此情況。