act-runner-docker-image/ubuntu-jdk8-gradle8-node22.dockerfile
2025-06-26 20:54:30 +08:00

34 lines
2.0 KiB
Docker

FROM ubuntu
# 一次性安装所有依赖并清理缓存
RUN apt update -y && \
apt install -y wget unzip xz-utils curl jq tree less vim dnsutils iputils-ping net-tools lsb-release gnupg-agent apt-transport-https build-essential ca-certificates git
# 下载并解压 Gradle、JDK、Node.js
RUN wget "https://repository.mingliqiye.com/repository/raw/gradle/gradle-8.14.2-all.zip" && \
unzip -n gradle-8.14.2-all.zip && \
wget "https://repository.mingliqiye.com/repository/raw/jdk/jdk-8u202-linux-x64.tar.gz" && \
tar -xzvf jdk-8u202-linux-x64.tar.gz && \
wget "https://repository.mingliqiye.com/repository/raw/node/node-v22.16.0-linux-x64.tar.xz" && \
tar -xf node-v22.16.0-linux-x64.tar.xz &&\
rm -rf *.zip *.tar.gz *.tar.xz
# 创建目录并移动文件
RUN mkdir -p /opt/gradle /opt/node /opt/jdk /data/gradle-local && \
mv gradle-8.14.2/ /opt/gradle/8.14.2/ && \
mv node-v22.16.0-linux-x64/ /opt/node/22.16.0/ && \
mv jdk1.8.0_202/ /opt/jdk/8u202/
# 设置环境变量
ENV GRADLE_USER_HOME="/data/gradle-local" \
GRADLE_HOME="/opt/gradle/8.14.2" \
NODE_HOME="/opt/node/22.16.0" \
JAVA_HOME="/opt/jdk/8u202"
ENV PATH="${NODE_HOME}/bin:${GRADLE_HOME}/bin:${JAVA_HOME}/bin:${PATH}"
# 清理临时文件
RUN echo "settingsEvaluated { settings -> println \"mingliqiye-repository-cmd: pluginManagement\"; settings.pluginManagement { repositories { maven { url \"https://repository.mingliqiye.com/repository/maven-public/\" }; gradlePluginPortal() } } }; buildscript { repositories { println \"mingliqiye-repository-cmd: repositories\"; maven { url \"https://repository.mingliqiye.com/repository/maven-public/\" } } }; allprojects { println \"mingliqiye-repository-cmd: allprojects \${project.name}\"; repositories { maven { url \"https://repository.mingliqiye.com/repository/maven-public/\" } } }" > ${GRADLE_HOME}/init.d/init.gradle &&\
gradle && node -v && java -version && \
rm -rf /tmp/* /build/* && \
apt clean && \
rm -rf /var/lib/apt/lists/*