# 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 ```