Skip to content

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 groupBuildRunners.
Copier le registration token situé en haut a droite de l'écran.
Pour un seul projet, aller dans Project SettingsCI/CDRunnersProject 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 :

  1. Aller dans Group SettingsCI/CDRunners.
  2. Section Shared Runners ou Instance runners → cliquer sur Disable shared runners.
  3. 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.