alpinelinux/gitlab-runnerAlpine Linux GitLab Runner 是一款基于 Alpine Linux 发行版构建的轻量级 GitLab Runner 镜像,旨在作为 GitLab CI/CD 流水线的执行器,负责运行自动化构建、测试和部署任务。与官方 GitLab Runner 相比,该镜像支持更广泛的硬件架构,同时保持 Alpine Linux 特有的轻量级、低资源占用特性,适用于资源受限环境或多架构 CI/CD 场景。
docker、shell、kubernetes 等(需根据架构和环境配置)。从镜像仓库拉取最新版本(替换 latest 为具体版本号如 v16.0.0-alpine 以固定版本):
bashdocker pull <镜像仓库地址>/alpine-gitlab-runner:latest
首次使用需向 GitLab 服务器注册 Runner,需提供 GitLab 实例 URL、注册令牌(从 GitLab 项目/群组设置中获取)、Runner 名称、标签等信息:
bashdocker run --rm -v /etc/gitlab-runner:/etc/gitlab-runner \ <镜像仓库地址>/alpine-gitlab-runner:latest register \ --non-interactive \ --url "[***]" \ --registration-token "REGISTRATION_TOKEN" \ --name "alpine-runner-arm64" \ --tag-list "alpine,arm64,ci" \ --executor "docker" \ --docker-image "alpine:latest" \ --docker-privileged
注册完成后,启动 Runner 服务以监听并执行任务:
bashdocker run -d --name gitlab-runner \ --restart always \ -v /etc/gitlab-runner:/etc/gitlab-runner \ -v /var/run/docker.sock:/var/run/docker.sock \ # 若使用 docker 执行器需挂载 Docker 套接字 <镜像仓库地址>/alpine-gitlab-runner:latest run
创建 docker-compose.yml 实现持久化部署:
yamlversion: '3.8' services: gitlab-runner: image: <镜像仓库地址>/alpine-gitlab-runner:latest container_name: gitlab-runner restart: always volumes: - ./gitlab-runner-config:/etc/gitlab-runner # 持久化配置文件 - /var/run/docker.sock:/var/run/docker.sock # Docker 执行器依赖 environment: - TZ=Asia/Shanghai # 时区配置 - LOG_LEVEL=info # 日志级别:debug/info/warn/error command: run # 启动命令
启动服务:
bashdocker-compose up -d
| 环境变量名 | 描述 | 默认值 |
|---|---|---|
LOG_LEVEL | 日志输出级别(debug/info/warn/error) | info |
TZ | 时区设置(如 Asia/Shanghai) | UTC |
CONFIG_FILE | Runner 配置文件路径 | /etc/gitlab-runner/config.toml |
RUNNER_EXTRA_FLAGS | 启动 Runner 时的额外命令行参数(如 --max-jobs 4 限制并发任务数) | 无 |
config.toml)Runner 配置文件位于 /etc/gitlab-runner/config.toml(需通过卷挂载持久化),关键配置项说明:
toml[[runners]] name = "alpine-runner-arm64" url = "[***]" token = "RUNNER_TOKEN" # 注册后自动生成 executor = "docker" [runners.docker] tls_verify = false image = "alpine:latest" # 默认基础镜像 privileged = true # 若需构建 Docker 镜像需开启 volumes = ["/cache", "/var/run/docker.sock:/var/run/docker.sock"] [runners.cache] Type = "s3" # 可选:使用 S3/MinIO 缓存 artifacts Path = "runner-cache"
为避免容器重启后配置丢失,需挂载以下目录:
/etc/gitlab-runner:存储 Runner 配置文件(config.toml)。/cache:存储 CI/CD 作业缓存(可选,根据 config.toml 配置)。| 架构 | 镜像标签后缀(示例) | 适用设备/场景 |
|---|---|---|
| x86_64 | amd64 | 普通 PC、服务器 |
| ARMv7 | arm32v7 | Raspberry Pi 3/4、ARM 嵌入式设备 |
| ARM64 | arm64v8 | Raspberry Pi 5、ARM 服务器 |
| ppc64le | ppc64le | PowerPC 架构服务器 |
| s390x | s390x | IBM Z 架构服务器 |
/var/run/docker.sock)时需确保容器内用户有足够权限,避免权限错误。arm64v8),或使用支持多架构的镜像仓库(如 Docker Hub 自动匹配)。
manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务