fix gitea_runner_java build

This commit is contained in:
Timi
2026-04-08 17:42:58 +08:00
parent 2c12a98386
commit f365e23d1b
3 changed files with 20 additions and 31 deletions

View File

@@ -22,8 +22,8 @@ docker build -t gitea_runner_base ./gitea_runner_base
基于 `gitea_runner_base` 的 Java 开发镜像,包含: 基于 `gitea_runner_base` 的 Java 开发镜像,包含:
- JDK 8, 11, 17, 21 (OpenJDK) - JDK 8, 21 (OpenJDK)
- Maven 3.9.9 - Maven (Alpine package)
```bash ```bash
docker build -t gitea_runner_java ./gitea_runner_java docker build -t gitea_runner_java ./gitea_runner_java
@@ -33,8 +33,8 @@ docker build -t gitea_runner_java ./gitea_runner_java
```bash ```bash
# 在容器内或 CI 脚本中 # 在容器内或 CI 脚本中
source use-java 8 # 切换到 JDK 8 source use-java 8 # 切换到 JDK 8
source use-java 17 # 切换到 JDK 17 source use-java 21 # 切换到 JDK 21
``` ```
**直接指定 JAVA_HOME** **直接指定 JAVA_HOME**
@@ -42,7 +42,7 @@ source use-java 17 # 切换到 JDK 17
```yaml ```yaml
# Gitea Action workflow 示例 # Gitea Action workflow 示例
env: env:
JAVA_HOME: /usr/lib/jvm/java-11-openjdk JAVA_HOME: /usr/lib/jvm/java-1.8-openjdk
``` ```
## 构建顺序 ## 构建顺序
@@ -53,4 +53,4 @@ docker build -t gitea_runner_base ./gitea_runner_base
# 2. 再构建语言环境镜像 # 2. 再构建语言环境镜像
docker build -t gitea_runner_java ./gitea_runner_java docker build -t gitea_runner_java ./gitea_runner_java
``` ```

View File

@@ -12,19 +12,11 @@ ENV JAVA_BASE=/usr/lib/jvm
# 安装 Alpine 仓库中的 OpenJDK 版本(仅保留 8 和 21 # 安装 Alpine 仓库中的 OpenJDK 版本(仅保留 8 和 21
RUN apk add --no-cache \ RUN apk add --no-cache \
openjdk8 \ openjdk8 \
openjdk21 openjdk21 \
maven
# Maven 3 # Maven
ARG MAVEN_VERSION=3.9.12 ENV MAVEN_HOME=/usr/share/java/maven-3
ARG MAVEN_URL=https://dlcdn.apache.org/maven/maven-3/${MAVEN_VERSION}/binaries/apache-maven-${MAVEN_VERSION}-bin.tar.gz
ARG MAVEN_URL_ARCHIVE=https://archive.apache.org/dist/maven/maven-3/${MAVEN_VERSION}/binaries/apache-maven-${MAVEN_VERSION}-bin.tar.gz
ENV MAVEN_HOME=/opt/maven
RUN mkdir -p ${MAVEN_HOME} \
&& wget -q ${MAVEN_URL} -O /tmp/maven.tar.gz \
|| wget -q ${MAVEN_URL_ARCHIVE} -O /tmp/maven.tar.gz \
&& tar -xzf /tmp/maven.tar.gz -C ${MAVEN_HOME} --strip-components=1 \
&& rm /tmp/maven.tar.gz \
&& ln -s ${MAVEN_HOME}/bin/mvn /usr/local/bin/mvn
# 默认使用 JDK 21 # 默认使用 JDK 21
ENV JAVA_HOME=${JAVA_BASE}/java-21-openjdk ENV JAVA_HOME=${JAVA_BASE}/java-21-openjdk

View File

@@ -10,19 +10,17 @@ Gitea Action Runner Java 构建环境,基于 `gitea_runner_base` 添加多版
| 组件 | 版本 | | 组件 | 版本 |
|------|------| |------|------|
| JDK | 8, 11, 17, 21 (OpenJDK) | | JDK | 8, 21 (OpenJDK) |
| Maven | 3.9.12 | | Maven | Alpine 仓库版本 |
## JDK 路径 ## JDK 路径
| 版本 | 路径 | | 版本 | 路径 |
|------|------| |------|------|
| JDK 8 | `/usr/lib/jvm/java-1.8-openjdk` | | JDK 8 | `/usr/lib/jvm/java-1.8-openjdk` |
| JDK 11 | `/usr/lib/jvm/java-11-openjdk` |
| JDK 17 | `/usr/lib/jvm/java-17-openjdk` |
| JDK 21 | `/usr/lib/jvm/java-21-openjdk` | | JDK 21 | `/usr/lib/jvm/java-21-openjdk` |
默认使用 JDK 17 默认使用 JDK 21。
## 构建 ## 构建
@@ -31,7 +29,7 @@ Gitea Action Runner Java 构建环境,基于 `gitea_runner_base` 添加多版
./rebuild.sh gitea_runner_base ./rebuild.sh gitea_runner_base
# 再构建 Java 镜像 # 再构建 Java 镜像
./rebuild.sh gitea_runner_java ./rebuild.sh gitea_runner_java latest
``` ```
## 切换 JDK 版本 ## 切换 JDK 版本
@@ -39,10 +37,8 @@ Gitea Action Runner Java 构建环境,基于 `gitea_runner_base` 添加多版
### 方式一:使用切换脚本 ### 方式一:使用切换脚本
```bash ```bash
source use-java 8 # 切换到 JDK 8 source use-java 8
source use-java 11 # 切换到 JDK 11 source use-java 21
source use-java 17 # 切换到 JDK 17
source use-java 21 # 切换到 JDK 21
``` ```
### 方式二:设置环境变量 ### 方式二:设置环境变量
@@ -50,21 +46,22 @@ source use-java 21 # 切换到 JDK 21
```yaml ```yaml
# Gitea Action workflow 示例 # Gitea Action workflow 示例
env: env:
JAVA_HOME: /usr/lib/jvm/java-11-openjdk JAVA_HOME: /usr/lib/jvm/java-1.8-openjdk
``` ```
### 方式三:直接调用 ### 方式三:直接调用
```bash ```bash
/usr/lib/jvm/java-1.8-openjdk/bin/java -version /usr/lib/jvm/java-1.8-openjdk/bin/java -version
/usr/lib/jvm/java-21-openjdk/bin/java -version
``` ```
## 环境变量 ## 环境变量
| 变量 | 默认值 | | 变量 | 默认值 |
|------|--------| |------|--------|
| `JAVA_HOME` | `/usr/lib/jvm/java-17-openjdk` | | `JAVA_HOME` | `/usr/lib/jvm/java-21-openjdk` |
| `MAVEN_HOME` | `/opt/maven` | | `MAVEN_HOME` | `/usr/share/java/maven-3` |
## Gitea Action 示例 ## Gitea Action 示例