51 lines
1.5 KiB
Docker
51 lines
1.5 KiB
Docker
FROM alibabadragonwell/dragonwell:21
|
|
|
|
# Gradle版本作为构建参数
|
|
ARG GRADLE_VERSION=8.5
|
|
ENV GRADLE_VERSION=${GRADLE_VERSION}
|
|
ENV GRADLE_HOME=/opt/gradle
|
|
ENV PATH=$PATH:$GRADLE_HOME/bin
|
|
ENV JAVA_OPTS="-XX:+UnlockExperimentalVMOptions -XX:+UseWisp2 -XX:+UseElasticHeap"
|
|
ENV GRADLE_OPTS="-Xmx2g -XX:+UseContainerSupport -XX:MaxRAMPercentage=75.0"
|
|
|
|
# 安装必要工具
|
|
RUN microdnf update && \
|
|
microdnf install -y wget unzip && \
|
|
microdnf clean all
|
|
|
|
# 下载并安装Gradle (使用变量)
|
|
RUN wget -q https://services.gradle.org/distributions/gradle-${GRADLE_VERSION}-bin.zip -P /tmp && \
|
|
unzip -q /tmp/gradle-${GRADLE_VERSION}-bin.zip -d /opt && \
|
|
mv /opt/gradle-${GRADLE_VERSION} $GRADLE_HOME && \
|
|
rm /tmp/gradle-${GRADLE_VERSION}-bin.zip
|
|
|
|
# 创建gradle用户和目录
|
|
RUN groupadd -r gradle && useradd -r -g gradle gradle && \
|
|
mkdir -p /home/gradle/.gradle && \
|
|
chown -R gradle:gradle /home/gradle
|
|
|
|
# 复制Gradle配置文件到正确位置
|
|
COPY config/gradle-init.gradle /home/gradle/.gradle/init.gradle
|
|
COPY config/gradle.properties /home/gradle/.gradle/gradle.properties
|
|
|
|
# 确保文件权限正确
|
|
RUN chown -R gradle:gradle /home/gradle/.gradle
|
|
|
|
# 设置工作目录
|
|
WORKDIR /workspace
|
|
|
|
# 预热Gradle (可选)
|
|
COPY config/sample-build.gradle.kts /tmp/build.gradle.kts
|
|
RUN cd /tmp && \
|
|
gradle --version && \
|
|
gradle help --no-daemon && \
|
|
rm -rf /tmp/*
|
|
|
|
# 切换到gradle用户
|
|
USER gradle
|
|
|
|
# 验证安装
|
|
RUN java -version && gradle --version
|
|
|
|
# 默认命令
|
|
CMD ["gradle", "--version"] |