Runner


Overview

Runners are used to execute jobs in GitLab CI

Supported executors: shell, docker, docker-windows, docker-ssh, ssh, parallels, virtualbox, docker+machine, docker-ssh+machine, kubernetes

Shell

Jobs are executed in the context of the runner

Docker / Kubernetes

Jobs are executed in a dedicated container / pod

Image cleanup

docuum is able to remove least recently used images


Details

Runner can be shared across the instance of GitLab

They can be specific to a group of project

Jobs select runners by specifying a tag

Extensive configuration

Heads-up

New runner registration process

Implementation completed by v15.11 (April 2023)

Enforcement in v16.6 (November 2023)


Hands-On

Add runner to GitLab instance

# Switch to directory for this topic
cd ../160_runners

# Deploy GitLab runner
export CI_SERVER_URL=http://gitlab.seatN.inmylab.de
export REGISTRATION_TOKEN=<TOKEN>
export RUNNER_EXECUTOR=docker
docker compose --project-name gitlab \
    --file ../100_reverse_proxy/compose.yml \
    --file compose.yml \
    up -d