GitLab Runner 注册与管理
gitlab-runner 在 GitLab CI 中执行 job,支持 shell、docker、kubernetes 等执行器。Runner 需要注册到 GitLab 实例,并带上正确的标签和并发配置。
gitlab-runner --version
gitlab-runner register
gitlab-runner register --non-interactive \
--url https://gitlab.example.com \
--token "$RUNNER_TOKEN" \
--executor docker \
--docker-image alpine:3.20
gitlab-runner list
gitlab-runner verify
gitlab-runner run
gitlab-runner exec docker test
gitlab-runner unregister --name my-runner
gitlab-runner status
config.toml 关键项:
concurrent = 4
[[runners]]
name = "docker-runner"
url = "https://gitlab.example.com"
token = "glrt-..."
executor = "docker"
[runners.docker]
image = "alpine:3.20"
privileged = false
volumes = ["/cache"]
glrt-),不要和旧的 registration token 混淆。tags 匹配;不写 tags 的 job 才可能落到无标签 Runner。concurrent 是全局上限;单个 Runner 的并发还受 limit 限制。gitlab-ci — 流水线配置docker — 容器运行时kubectl — Kubernetes 执行器排查合上页面,先回答,再展开对照。
privileged 的风险是什么?tags 是否匹配;不写 tags 的 job 才可能落到无标签 Runner。privileged 会放大安全风险。