Gitlab Runner 是 Gitlab 安装的辅助应用,采用 Go 语言开发,用于运行 CI/CD 作业并将结果反馈至 Gitlab。Bitnami 提供的此镜像封装了 Gitlab Runner,优化了容器化部署体验,支持通过 Helm Chart 在 Kubernetes 集群中快速部署,适用于开发和生产环境的 CI/CD 流程自动化。
通过 Helm 快速安装:
consolehelm install my-release oci://registry-1.docker.io/bitnamicharts/gitlab-runner
自 2025 年 8 月 28 日起,Bitnami 将调整公共镜像目录,推出 Bitnami Secure Images 计划,重点提供安全加固镜像:
docker.io/bitnamilegacy 仓库,不再更新。详情参见 https://github.com/bitnami/containers/issues/83267%E3%80%82
1. 准备 Gitlab Runner 注册信息
在 Gitlab 实例中创建 Runner 并获取注册令牌:
Settings > CI/CD > Runners)。runnerToken)。2. 使用 Helm 安装
指定 Gitlab 实例 URL 和 Runner 令牌安装:
consolehelm install my-release oci://registry-1.docker.io/bitnamicharts/gitlab-runner \ --set gitlabUrl="https://your-gitlab-instance.com" \ --set runnerToken="your-registration-token"
替换
your-gitlab-instance.com为实际 Gitlab 地址,your-registration-token为步骤 1 获取的令牌。
3. 验证部署
检查 Pod 状态:
consolekubectl get pods -l app.kubernetes.io/name=gitlab-runner
在 Gitlab Runner 管理面板确认 Runner 已注册并处于“在线”状态。
若需通过 Docker 直接部署(非 Kubernetes 环境):
consoledocker run -d \ --name gitlab-runner \ --restart always \ -v /var/run/docker.sock:/var/run/docker.sock \ -v /srv/gitlab-runner/config:/etc/gitlab-runner \ -e GITLAB_URL="https://your-gitlab-instance.com" \ -e REGISTRATION_TOKEN="your-registration-token" \ bitnami/gitlab-runner:latest
说明:
-v /var/run/docker.sock用于支持 Docker 执行器(需宿主机安装 Docker);配置文件持久化至/srv/gitlab-runner/config。
连接 Gitlab 实例
通过以下参数配置与 Gitlab 的连接:
gitlabUrl:Gitlab 实例 URL(含协议,如 https://gitlab.example.com)。runnerToken:注册令牌(或通过 existingSecret 指定存储令牌的 Secret 名称)。示例(Helm values):
yamlgitlabUrl: "https://gitlab.example.com" runnerToken: "glrt-abc123xyz" # 或使用现有 Secret: # existingSecret: "gitlab-runner-secret" # Secret 中需包含 key 为 `runner-token` 的字段
自定义 Runner 配置
通过 runners.config 修改 Runner 核心配置,如默认作业镜像、Kubernetes 命名空间等:
yamlrunners: config: | [[runners]] [runners.kubernetes] namespace = "{{ include "common.names.namespace" . }}" # 使用当前命名空间 image = "bitnami/os-shell:latest" # 覆盖默认作业镜像 service_account_name = "gitlab-runner-sa" # 自定义 ServiceAccount cpu_request = "100m" # 作业 CPU 请求 memory_request = "128Mi" # 作业内存请求
监控集成(Prometheus)
启用 Prometheus 指标暴露:
yamlmetrics: enabled: true # 暴露 metrics 端点 serviceMonitor: enabled: true # 创建 ServiceMonitor 供 Prometheus Operator 发现
指标通过 metrics Service 暴露,默认端口 9252,路径 /metrics。
资源与扩展配置
concurrent: 10(默认最大并发作业数为 10,可根据集群资源调整)。resources 设置 Runner 自身的 CPU/内存限制:yamlresources: requests: cpu: "100m" memory: "128Mi" limits: cpu: "500m" memory: "512Mi"
yamlautoscaling: vpa: enabled: true # 自动调整 Pod 资源配置
Ingress 配置(会话服务器)
为会话服务器(用于作业交互)配置 Ingress:
yamlsessionServer: ingress: enabled: true hostname: runner-sessions.example.com # 访问域名 tls: enabled: true # 启用 HTTPS secretName: runner-session-tls # 存储 TLS 证书的 Secret 名称
| 参数名 | 描述 | 默认值 |
|---|---|---|
global.imageRegistry | 全局 Docker 镜像仓库 | "" |
global.imagePullSecrets | 全局镜像拉取密钥(数组) | [] |
global.security.allowInsecureImages | 是否允许不安全镜像(跳过验证) | false |
global.compatibility.openshift.adaptSecurityContext | 适配 OpenShift 安全上下文(auto/force/disabled) | auto |
| 参数名 | 描述 | 默认值 |
|---|---|---|
kubeVersion | 目标 Kubernetes 版本(未设置则使用 Helm 检测值) | "" |
clusterDomain | Kubernetes 集群域名 | cluster.local |
nameOverride | 覆盖资源名称前缀 | "" |
fullnameOverride | 完全覆盖资源全名 | "" |
commonLabels | 所有资源的额外标签 | {} |
commonAnnotations | 所有资源的额外注解 | {} |
replicaCount | Runner 副本数 | 1 |
| 参数名 | 描述 | 默认值 |
|---|---|---|
concurrent | 最大并发作业数 | 10 |
checkInterval | 检查 Gitlab 作业的间隔(秒) | 3 |
logLevel | 日志级别(debug/info/warn/error) | info |
logFormat | 日志格式(runner/text/json) | runner |
unregisterRunners | 停止时是否注销 Runner | true |
shutdownTimeout | 强制关闭前的超时时间(秒) | 0 |
existingCertsSecret | 存储自定义证书的 Secret 名称(用于 Gitlab 连接) | "" |
preEntrypointScript | 入口点前执行的命令 | "" |
完整参数列表参见 https://github.com/bitnami/charts/blob/main/bitnami/gitlab-runner/README.md%E3%80%82
以下是 bitnamicharts/gitlab-runner 相关的常用 Docker 镜像,适用于 不同场景 等不同场景:
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。


探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
无需登录使用专属域名
Kubernetes 集群配置 Containerd
K3s 轻量级 Kubernetes 镜像加速
VS Code Dev Containers 配置
Podman 容器引擎配置
HPC 科学计算容器配置
ghcr、Quay、nvcr 等镜像仓库
Harbor Proxy Repository 对接专属域名
Portainer Registries 加速拉取
Nexus3 Docker Proxy 内网缓存
需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单
docker search 限制
站内搜不到镜像
离线 save/load
插件要用 plugin install
WSL 拉取慢
安全与 digest
新手拉取配置
镜像合规机制
manifest unknown
no matching manifest(架构)
invalid tar header(解压)
TLS 证书失败
DNS 超时
域名连通性排查
410 Gone 排查
402 与流量用尽
401 认证失败
429 限流
D-Bus 凭证提示
413 与超大单层
来自真实用户的反馈,见证轩辕镜像的优质服务