59 lines
1.7 KiB
Docker
59 lines
1.7 KiB
Docker
# Gitea Action Runner Base Image
|
||
# 基于 gitea/act_runner 添加常用构建工具,不含具体语言环境
|
||
|
||
FROM gitea/act_runner:latest
|
||
|
||
LABEL maintainer="www.imyeyu.com"
|
||
LABEL description="Gitea Action Runner with basic build tools"
|
||
|
||
# 预装常用 GitHub Actions 缓存目录
|
||
ENV ACTIONS_CACHE_DIR=/root/.cache/act
|
||
|
||
# 安装基本构建工具并预装常用 GitHub Actions
|
||
# act_runner 基于 Alpine Linux
|
||
RUN apk update && apk add --no-cache \
|
||
# 版本控制
|
||
git \
|
||
git-lfs \
|
||
# 网络工具
|
||
curl \
|
||
wget \
|
||
ca-certificates \
|
||
openssl \
|
||
# 文件传输工具
|
||
rsync \
|
||
openssh-client \
|
||
sshpass \
|
||
lftp \
|
||
# 压缩/解压工具
|
||
tar \
|
||
gzip \
|
||
bzip2 \
|
||
xz \
|
||
zip \
|
||
unzip \
|
||
# 基本构建工具
|
||
make \
|
||
bash \
|
||
coreutils \
|
||
findutils \
|
||
grep \
|
||
sed \
|
||
gawk \
|
||
# Node.js 运行时(用于运行 JavaScript actions)
|
||
nodejs \
|
||
npm \
|
||
# 其他常用工具
|
||
jq \
|
||
tree \
|
||
&& rm -rf /var/cache/apk/* \
|
||
# 预装常用 GitHub Actions,避免每次执行都从 GitHub clone
|
||
&& mkdir -p ${ACTIONS_CACHE_DIR} \
|
||
&& cd ${ACTIONS_CACHE_DIR} \
|
||
&& git clone --depth 1 --branch v4 https://github.com/actions/checkout.git actions-checkout@v4 \
|
||
&& git clone --depth 1 --branch v4 https://github.com/actions/cache.git actions-cache@v4 \
|
||
&& git clone --depth 1 --branch v4 https://github.com/actions/upload-artifact.git actions-upload-artifact@v4 \
|
||
&& git clone --depth 1 --branch v4 https://github.com/actions/download-artifact.git actions-download-artifact@v4 \
|
||
# 清理 .git 目录减少镜像体积
|
||
&& find ${ACTIONS_CACHE_DIR} -name ".git" -type d -exec rm -rf {} + 2>/dev/null || true
|