Files
docker-files/README.md
2026-05-27 15:09:39 +08:00

94 lines
1.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# docker-files
Gitea Action Runner Docker 镜像集合
## 镜像列表
### gitea_runner_base
基于 `gitea/act_runner` 的基础镜像,包含常用构建工具:
- 版本控制: git, git-lfs
- 网络工具: curl, wget, openssl
- 压缩工具: tar, gzip, bzip2, xz, zip, unzip
- 构建工具: make, bash, GNU 工具链
- 其他: jq, tree
```bash
docker build -t gitea_runner_base ./gitea_runner_base
```
### gitea_runner_node
基于 `gitea_runner_base` 的 Node.js 开发镜像,包含:
- Node.js 18, 20, 22
- npm, yarn, pnpm
```bash
docker build -t gitea_runner_node ./gitea_runner_node
```
### gitea_runner_java
基于 `gitea_runner_base` 的 Java 开发镜像,包含:
- JDK 8, 21, 25 (OpenJDK)
- Maven (Alpine package)
```bash
docker build -t gitea_runner_java ./gitea_runner_java
```
**切换 JDK 版本:**
```bash
# 在容器内或 CI 脚本中
source use-java 8 # 切换到 JDK 8
source use-java 21 # 切换到 JDK 21
source use-java 25 # 切换到 JDK 25
```
**直接指定 JAVA_HOME**
```yaml
# Gitea Action workflow 示例
env:
JAVA_HOME: /usr/lib/jvm/java-1.8-openjdk
```
### gitea_runner_electron
基于 `electronuserland/builder:wine` 的 Electron 三平台打包镜像,包含:
- Node.js, npm, pnpm, yarn
- Wine用于 Windows NSIS 打包
- 7zip, zip, unzip 等压缩工具
- `build-electron-release` 三平台打包脚本
默认打包目标:
- Linux: AppImage x64
- Windows: NSIS x64
- macOS: zip x64 + arm64
macOS 只生成 zip不处理 dmg、签名和公证。
```bash
docker build -t gitea_runner_electron ./gitea_runner_electron
```
## 构建顺序
```bash
# 1. 先构建基础镜像
docker build -t gitea_runner_base ./gitea_runner_base
# 2. 再构建语言环境镜像
docker build -t gitea_runner_node ./gitea_runner_node
docker build -t gitea_runner_java ./gitea_runner_java
# 3. Electron 镜像基于官方 Wine 镜像,可独立构建
docker build -t gitea_runner_electron ./gitea_runner_electron
```