Files
ActRunnerImage/Dockerfile
2025-09-11 09:16:23 +08:00

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"]