翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
完了後に Amazon Q コード変換が GitLab でマージリクエストを開くと、プロジェクトパイプラインはマージリクエストに対して実行するように設定されたジョブを実行します。更新されたコードは Java 17 を対象とするため、ジョブが Java 8 または Java 11 を使用してビルドしようとすると、これらのジョブでビルドエラーが発生します。
以下は、Docker .gitlab-ci.yml
を使用し、 で始まるブランチ名を持つマージリクエストでジョブが実行されているときに Java 17 を動的に選択するアドバンスト ですq/transform-*
。開いたリクエストをデフォルトブランチにマージすることを決定したら、デフォルトで Java 17 を使用する.gitlab-ci.yml
ように を変更する必要があります。
variables:
MAVEN_OPTS: >-
-Dhttps.protocols=TLSv1.2
-Dmaven.repo.local=$CI_PROJECT_DIR/.m2/repository
-Dorg.slf4j.simpleLogger.showDateTime=true
-Djava.awt.headless=true
-Dmaven.install.skip=true
MAVEN_CLI_OPTS: >-
--batch-mode
--errors
--fail-at-end
--show-version
--no-transfer-progress
-DinstallAtEnd=true
-DdeployAtEnd=true
BUILD_IMAGE: maven:3-openjdk-8
workflow:
rules:
- if: $CI_COMMIT_REF_NAME =~ /^q\/transform-/ && $CI_PIPELINE_SOURCE == 'merge_request_event'
variables:
BUILD_IMAGE: maven:3-openjdk-17
- when: always
image: $BUILD_IMAGE
cache:
paths:
- .m2/repository
compile:
stage: build
script:
- 'mvn $MAVEN_CLI_OPTS compile'
verify:
stage: test
script:
- 'mvn $MAVEN_CLI_OPTS verify'
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