# Gitea Action Runner Java Image # 基于 gitea_runner_base 添加多版本 JDK 和 Maven FROM timi/gitea_runner_base:latest LABEL maintainer="www.imyeyu.com" LABEL description="Gitea Action Runner with JDK 8/21 and Maven 3" # JDK 安装目录 ENV JAVA_BASE=/usr/lib/jvm # 安装 Alpine 仓库中的 OpenJDK 版本(仅保留 8 和 21) RUN apk add --no-cache \ openjdk8 \ openjdk21 \ maven # Maven ENV MAVEN_HOME=/usr/share/java/maven-3 # 默认使用 JDK 21 ENV JAVA_HOME=${JAVA_BASE}/java-21-openjdk ENV PATH="${JAVA_HOME}/bin:${MAVEN_HOME}/bin:${PATH}" # 创建版本切换脚本 RUN cat <<'EOF' > /usr/local/bin/use-java #!/bin/bash case "$1" in 8) export JAVA_HOME=/usr/lib/jvm/java-1.8-openjdk ;; 21) export JAVA_HOME=/usr/lib/jvm/java-21-openjdk ;; *) echo "Usage: source use-java [8|21]"; return 1 ;; esac export PATH="${JAVA_HOME}/bin:${PATH}" echo "Switched to Java $1: $(java -version 2>&1 | head -1)" EOF RUN chmod +x /usr/local/bin/use-java # 验证安装 RUN echo "=== Installed JDK versions ===" \ && echo "JDK 8: $(/usr/lib/jvm/java-1.8-openjdk/bin/java -version 2>&1 | head -1)" \ && echo "JDK 21: $(/usr/lib/jvm/java-21-openjdk/bin/java -version 2>&1 | head -1)" \ && echo "Maven: $(mvn -version 2>&1 | head -1)"