Runners are used to execute jobs in GitLab CI
Runner can be shared across the instance of GitLab
They can be specific to a group or project
Jobs select runners by specifying a tag
New runner registration process
New default in 16.0 (May 2023)
Enforcement in 16.6 (November 2023)
Removal of old runne registration in 17.0 (May 2024)
One token per instance, per group and per project
Credential leak causes a lot of work
Create a runner through the UI or the API
One token per runner
Supported executors: shell
, docker
, docker-windows
, docker-ssh
, ssh
, parallels
, virtualbox
, docker+machine
, docker-ssh+machine
, kubernetes
Jobs are executed in the context of the runner
Jobs are executed in a dedicated container / pod
docuum is able to remove least recently used images
Add runner to GitLab instance: Admin Area CI/CD Runners New instance runner
Configure runner: Check “Run untagged jobs”
Start runner (substitute token below)
# Switch to directory for this topic
cd ../160_runners
# Deploy GitLab runner
export CI_SERVER_URL=http://gitlab.seatN.inmylab.de
export CI_SERVER_TOKEN=<TOKEN>
export RUNNER_EXECUTOR=docker
docker compose --project-name gitlab \
--file ../100_reverse_proxy/compose.yml \
--file compose.yml \
up -d