Middle
Come funziona GitLab Runner?
sobes.tech AI
Risposta dell'AI
GitLab Runner è un agente che esegue compiti CI/CD. Interagisce con GitLab CI/CD tramite API. Quando si verifica un evento in GitLab che avvia una pipeline (ad esempio, un commit), GitLab invia una richiesta al runner. Il runner ottiene il compito, clona il repository, esegue i comandi descritti in .gitlab-ci.yml e invia il risultato indietro a GitLab.
Aspetti chiave del funzionamento:
- Tipi di runner: Condivisi, Specifici, di Gruppo. Differiscono per ambito di visibilità e accessibilità ai progetti.
- Executor (Esecutore): Definisce l'ambiente in cui verranno eseguiti i compiti. Esecutori popolari:
shell,docker,kubernetes,virtualbox,ssh. La scelta dell'esecutore influisce sull'isolamento e sull'ambiente di esecuzione. - Registrazione: Il runner si registra in GitLab usando un token, collegandolo a un'istanza, gruppo o progetto specifico.
- Polling (sondaggio): Il runner interroga periodicamente GitLab per nuove attività.
config.toml: File di configurazione che definisce le impostazioni del runner, incluso il tipo di esecutore, il numero di attività parallele e altri parametri.
Esempio di struttura di config.toml:
# impostazioni globali
concurrent = 4
# impostazioni del runner
[[runners]]
name = "my-docker-runner"
url = "https://gitlab.com/"
token = "YOUR_RUNNER_TOKEN"
executor = "docker" # scelta dell'esecutore
[runners.docker]
tls_verify = false
image = "ubuntu:latest" # immagine quando si usa l'esecutore 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]