Déployer un GitLab Runner sous Docker
Cette documentation explique comment créer un conteneur Docker pour un GitLab Runner, l’ajouter à un groupe ou un projet GitLab, et désactiver les runners partagés de GitLab.com pour que vos projets utilisent uniquement vos propres runners.
Créer le conteneur Docker pour un runner
Exemple avec docker-compose.yml :
services:
gitlab-runner:
image: gitlab/gitlab-runner:latest
container_name: gitlab-runner
restart: always
privileged: true
networks:
- proxy-tier
volumes:
- ./data/runner:/etc/gitlab-runner
- /var/run/docker.sock:/var/run/docker.sock
mem_limit: 4g
cpus: 2.0
Démarrer le conteneur :
docker compose up -d
Configurer le nombre de jobs parallèles (concurrent)
Éditer le fichier config.toml dans ./data/runner/config.toml :
concurrent = 4
check_interval = 0
Tip
Comme le volume ./data/runner:/etc/gitlab-runner est monté dans le conteneur, toute modification dans ./data/runner sur votre serveur hôte est directement prise en compte par le conteneur.
Pour l’éditer, utilisez par exemple nano :
nano ./data/runner/config.toml
Info
concurrent définit le nombre maximum de jobs qui peuvent être exécutés en parallèle par ce runner.
Exemple : concurrent = 4 → jusqu’à 4 jobs simultanés.
Redémarrer le conteneur après modification :
docker restart gitlab-runner
Enregistrer le runner auprès de GitLab ( créer notre instance de runner )
docker exec -it gitlab-runner gitlab-runner register
Puis renseigner les informations demandées :
- URL GitLab :
https://gitlab.com/ou l’URL de votre instance gitlab s'il est self-hosted. - Token : disponible dans l’interface GitLab (voir étape suivante).
- Description : nom du runner (ex.
runner-nom-projet). - Tags : laissez vide si vous voulez que tous les jobs du groupe/projet puissent l’utiliser.
- Executor : choisir
docker. - Image par défaut : ex.
ubuntu:22.04.
Tips
Utiliser des tags pour rendre le runner spécifique à certains jobs ainsi qu'une image adapté aux besoins des jobs peut avoir un très grand impact sur les performances du job.
Lier le runner à un groupe ou à un projet
Aller dans GitLab → Votre group → Build → Runners.
Copier le registration token situé en haut a droite de l'écran.
Pour un seul projet, aller dans Project Settings → CI/CD → Runners → Project registration token.
Le runner apparaîtra ensuite dans la section Available group runners ou Available project runners.
Désactiver les shared runners GitLab
Pour forcer vos projets à utiliser uniquement vos propres runners :
- Aller dans Group Settings → CI/CD → Runners.
- Section Shared Runners ou Instance runners → cliquer sur Disable shared runners.
- Vérifier que vos jobs s’exécutent uniquement sur vos runners enregistrés.
Warning
Si vous désactivez les shared runners et qu’aucun runner privé n’est disponible, vos pipelines ne pourront pas s’exécuter.