本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
自訂 CI/CD 管道以進行程式碼轉換
用於程式碼轉換的 Amazon Q 會使用靜態分析執行其部分功能,此時除了專案原始程式碼之外,您還需要提供編譯和測試範圍相依性。GitLab 的程式碼轉換會使用 GitLab CI/CD
您需要先備妥以下各項,才能為專案調用程式碼轉換:
-
至少一個 GitLab Runner
。 -
必須在專案上啟用 CI/CD 功能。
-
在專案的預設分支上遞交的
.gitlab-ci.yml。
若要自訂 CI/CD 管道以進行程式碼轉換
-
如果您的專案還沒有 GitLab CI/CD 管道,請使用 GitLab 提供的
Maven.gitlab-ci.yml範本建立一個管道。如需詳細資訊,請參閱建立專案管道。 -
使用下列任務更新
.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-*的分支名稱執行。當合併請求開啟時,並非此情況。
-