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]