가장 최신 LTS JDK 인 17 버전으로 개발한 프로젝트가 있는데, CodeBuild 는 JDK 11 까지만 지원하고 있어서, 해당 프로젝트를 CodeBuild 를 통해 빌드를 할 수가 없다.
곧 JDK 17 도 지원해주겠지만, 준비된 PR(https://github.com/aws/aws-codebuild-docker-images/pull/495) 은 있지만 아직 release 되기까지는 시간이 좀 걸릴 것 같다.
해당 PR 을 참고하여, 현재 내 프로젝트에서 CodeBuild 를 통해 corretto17 을 이용하여 Build 를 할 수 있도록 workaround 를 적용하고 있다.
version: 0.2
env:
variables:
TZ: "Asia/Seoul"
phases:
install:
runtime-versions:
java: corretto11
run-as: root
commands:
- export JAVA_17_HOME="/usr/lib/jvm/java-17-amazon-corretto.x86_64"
- export JDK_17_HOME="/usr/lib/jvm/java-17-amazon-corretto.x86_64"
- export JRE_17_HOME="/usr/lib/jvm/java-17-amazon-corretto.x86_64"
- export JAVA_HOME="$JAVA_17_HOME"
- export JRE_HOME="$JRE_17_HOME"
- export JDK_HOME="$JDK_17_HOME"
- |-
export GNUPGHOME="$(mktemp -d)" \
&& curl -fL -o corretto.key https://yum.corretto.aws/corretto.key \
&& gpg --batch --import corretto.key \
&& gpg --batch --export --armor '6DC3636DAE534049C8B94623A122542AB04F24E3' > corretto.key \
&& rpm --import corretto.key \
&& rm -r "$GNUPGHOME" corretto.key \
&& curl -fL -o /etc/yum.repos.d/corretto.repo https://yum.corretto.aws/corretto.repo \
&& grep -q '^gpgcheck=1' /etc/yum.repos.d/corretto.repo \
&& yum install -y java-17-amazon-corretto-devel \
&& (find /usr/lib/jvm/java-17-amazon-corretto.x86_64 -name src.zip -delete || true) \
&& yum install -y fontconfig
- |-
for tool_path in "$JAVA_HOME"/bin/*;
do tool=`basename "$tool_path"`;
if [ $tool != 'java-rmi.cgi' ];
then
rm -f /usr/bin/$tool /var/lib/alternatives/$tool \
&& update-alternatives --install /usr/bin/$tool $tool $tool_path 20000;
fi;
done
그러면 아래와 같이 corretto 17 이 설치되고, install 이후 단계에서 corretto 17 을 사용할 수 있게 된다.
반응형