- Download a gitlab-runner docker image
bash
docker pull gitlab/gitlab-runner:latest
- Run the GitLab Runner Container
bash
docker run \
-v /your-path/gitlab-runner/config:/etc/gitlab-runner \
-v /your-path/gitlab-runner/cache:/cache \
-v /var/run/docker.sock:/var/run/docker.sock \
--name gitlab-runner gitlab/gitlab-runner:latest
--name gitlab-runner
:设置容器名称。--restart always
:设置容器在 Docker 重启后自动启动。-v /your-path/gitlab-runner/config:/etc/gitlab-runner
:将本地路径/your-path/gitlab-runner/config
挂载到容器中的/etc/gitlab-runner
,用来存储 GitLab Runner 的配置文件。-v /var/run/docker.sock:/var/run/docker.sock
:挂载 Docker socket,用以支持Docker执行器。
- Register a runner
bash
docker run -it --rm -v /your-path/gitlab-runner/config:/etc/gitlab-runner gitlab/gitlab-runner register \
--non-interactive \
--executor "docker" \
--docker-image alpine:latest \
--url "https://your-gitlab.com/" \
--registration-token "your token from gitlab" \
--description "runner" \
--tag-list "runner-01"
- config.toml
bash
concurrent = 10
check_interval = 0
connection_max_age = "15m0s"
shutdown_timeout = 0
[session_server]
session_timeout = 1800
[[runners]]
name = "runner"
url = "https://your-gitlab.com/"
id = 1
token = "your token"
token_obtained_at = 2024-11-13T06:53:07Z
token_expires_at = 0001-01-01T00:00:00Z
executor = "docker"
[runners.custom_build_dir]
[runners.cache]
MaxUploadedArchiveSize = 0
[runners.cache.s3]
[runners.cache.gcs]
[runners.cache.azure]
[runners.docker]
tls_verify = false
#image = "alpine:latest"
image = "your-harbor.com/base_image/alpine:latest"
privileged = false
disable_entrypoint_overwrite = false
oom_kill_disable = false
disable_cache = false
volumes = [
"/cache",
#"/your-path/gitlab-runner/npm_cache:/root/.npm",
"/your-path/gitlab-runner/npm_cache:/tmp/.npm",
"/your-path/gitlab-runner/nuget_cache:/root/.nuget/packages",
"/var/run/docker.sock:/var/run/docker.sock",
"/your-path/gitlab-runner/config/certs:/certs"
]
shm_size = 0
network_mtu = 0
- Stop gitlab-runner
bash
docker stop gitlab-runner
docker rm gitlab-runner