Sobes.tech
Middle

Comment fonctionne GitLab Runner?

sobes.tech IA

Réponse de l'IA

GitLab Runner est un agent qui exécute des tâches CI/CD. Il échange des données avec GitLab CI/CD via API. Lorsqu'un événement dans GitLab déclenche un pipeline (par exemple, un commit), GitLab envoie une requête au runner. Le runner récupère la tâche, clone le dépôt, exécute les commandes décrites dans .gitlab-ci.yml et renvoie le résultat à GitLab.

Aspects clés du fonctionnement :

  • Types de runners : Partagés, spécifiques, de groupe. Diffèrent par leur portée et leur accessibilité aux projets.
  • Executor (Exécuteur) : Définit l'environnement dans lequel les tâches seront exécutées. Exécuteurs populaires : shell, docker, kubernetes, virtualbox, ssh. Le choix de l'exécuteur influence l'isolation et l'environnement d'exécution.
  • Enregistrement : Le runner s'enregistre dans GitLab avec un token, le liant à une instance, un groupe ou un projet spécifiques.
  • Polling (sondage) : Le runner interroge périodiquement GitLab pour de nouvelles tâches.
  • config.toml : Fichier de configuration définissant les paramètres du runner, y compris le type d'exécuteur, le nombre de tâches parallèles, etc.

Exemple de structure de config.toml :

# paramètres globaux
concurrent = 4

# paramètres du runner
[[runners]]
  name = "my-docker-runner"
  url = "https://gitlab.com/"
  token = "YOUR_RUNNER_TOKEN"
  executor = "docker" # choix de l'exécuteur
  [runners.docker]
    tls_verify = false
    image = "ubuntu:latest" # image lors de l'utilisation de l'exécuteur docker
    privileged = false
    disable_entrypoint_overwrite = false
    oom_kill_disable = false
    disable_cache = false
    volumes = ["/cache"]
    shm_size = 0
  [runners.cache]
    [runners.cache.s3]
    [runners.cache.gcs]