[Enhancement] Support jdk17 in docker image (#52954)

Signed-off-by: gengjun-git <gengjun@starrocks.com>
This commit is contained in:
gengjun-git 2024-12-03 16:01:45 +08:00 committed by GitHub
parent e34f18a5a3
commit ea1829619a
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 18 additions and 4 deletions

View File

@ -7,6 +7,7 @@ ARG GCC_10_DOWNLOAD_URL=https://ftp.gnu.org/gnu/gcc/gcc-10.3.0/gcc-10.3.0.tar.gz
ARG GCC_DOWNLOAD_URL=https://ftp.gnu.org/gnu/gcc/gcc-14.2.0/gcc-14.2.0.tar.gz
ARG CMAKE_INSTALL_HOME=/opt/cmake
ARG MAVEN_VERSION=3.6.3
ARG JDK_INSTALL_HOME=/opt/jdk17
ARG MAVEN_INSTALL_HOME=/opt/maven
# Can't upgrade to a later version, due to incompatible changes between 2.31 and 2.32
ARG BINUTILS_DOWNLOAD_URL=https://ftp.gnu.org/gnu/binutils/binutils-2.30.tar.bz2
@ -62,6 +63,7 @@ FROM fixed-centos7-image
ARG GCC_INSTALL_HOME
ARG CMAKE_INSTALL_HOME
ARG JDK_INSTALL_HOME
ARG MAVEN_VERSION
ARG MAVEN_INSTALL_HOME
ARG EPEL_RPM_URL
@ -70,7 +72,7 @@ LABEL org.opencontainers.image.source="https://github.com/starrocks/starrocks"
RUN yum-config-manager --add-repo https://cli.github.com/packages/rpm/gh-cli.repo && yum install -y gh && \
yum install -y ${EPEL_RPM_URL} && yum install -y wget unzip bzip2 patch bison byacc flex autoconf automake make \
libtool which git ccache binutils-devel python3 file java-11-openjdk java-11-openjdk-devel java-11-openjdk-jmods less psmisc && \
libtool which git ccache binutils-devel python3 file less psmisc && \
yum clean all && rm -rf /var/cache/yum
# install gcc
@ -81,6 +83,13 @@ COPY --from=binutils-builder /workspace/installed/ /
RUN ARCH=`uname -m` && mkdir -p $CMAKE_INSTALL_HOME && cd $CMAKE_INSTALL_HOME && \
curl -s -k https://cmake.org/files/v3.22/cmake-3.22.4-linux-${ARCH}.tar.gz | tar -xzf - --strip-components=1 && \
ln -s $CMAKE_INSTALL_HOME/bin/cmake /usr/bin/cmake
# install jdk17
RUN ARCH=`uname -m` \
&& mkdir -p ${JDK_INSTALL_HOME} && cd ${JDK_INSTALL_HOME} \
&& DOWNLOAD_URL="http://cdn-thirdparty.starrocks.com/OpenJDK17U-jdk_${ARCH}_linux_hotspot_17.0.13_11.tar.gz" \
&& curl -s $DOWNLOAD_URL | tar -xzf - --strip-components=1
# install maven
RUN mkdir -p ${MAVEN_INSTALL_HOME} && cd ${MAVEN_INSTALL_HOME} && \
curl -s -k https://archive.apache.org/dist/maven/maven-3/${MAVEN_VERSION}/binaries/apache-maven-${MAVEN_VERSION}-bin.tar.gz | tar -xzf - --strip-components=1 && \
@ -89,6 +98,6 @@ RUN mkdir -p ${MAVEN_INSTALL_HOME} && cd ${MAVEN_INSTALL_HOME} && \
RUN ARCH=`uname -m` ; if [[ $ARCH == "aarch64" ]] ; then DOWNLOAD_URL=http://cdn-thirdparty.starrocks.com/aarch64/clang-format ; else DOWNLOAD_URL=http://cdn-thirdparty.starrocks.com/clang-format ; fi ; curl -s $DOWNLOAD_URL -o /usr/bin/clang-format && chmod +x /usr/bin/clang-format
ENV STARROCKS_GCC_HOME=${GCC_INSTALL_HOME}
ENV JAVA_HOME=/usr/lib/jvm/java-11
ENV JAVA_HOME=${JDK_INSTALL_HOME}
ENV MAVEN_HOME=${MAVEN_INSTALL_HOME}
ENV LANG=en_US.utf8

View File

@ -6,12 +6,17 @@ FROM ubuntu:22.04
# Install common libraries and tools that are needed for dev environment
RUN apt-get update -y && \
apt-get install --no-install-recommends -y \
automake binutils-dev bison byacc ccache flex libiberty-dev libtool maven zip python3 python-is-python3 make cmake gcc g++ default-jdk git patch lld bzip2 \
automake binutils-dev bison byacc ccache flex libiberty-dev libtool maven zip python3 python-is-python3 make cmake gcc g++ openjdk-17-jdk git patch lld bzip2 \
wget unzip curl vim tree net-tools openssh-client xz-utils gh locales && \
DEBIAN_FRONTEND=noninteractive TZ=Etc/UTC apt-get -y install tzdata && \
locale-gen en_US.UTF-8 && \
rm -rf /var/lib/apt/lists/*
ENV JAVA_HOME=/lib/jvm/default-java
# Set the soft link to jvm
RUN ARCH=`uname -m` && \
cd /lib/jvm && \
if [[ $ARCH == "aarch64" ]] ; then ln -s java-17-openjdk-arm64 java-17-openjdk ; else ln -s java-17-openjdk-amd64 java-17-openjdk ; fi ;
ENV JAVA_HOME=/lib/jvm/java-17-openjdk
ENV STARROCKS_LINKER=lld
ENV LANG=en_US.utf8