Middle
¿Cómo funciona GitLab Runner?
sobes.tech AI
Respuesta de la IA
GitLab Runner es un agente que ejecuta tareas de CI/CD. Intercambia datos con GitLab CI/CD mediante API. Cuando ocurre un evento en GitLab que inicia un pipeline (por ejemplo, un commit), GitLab envía una solicitud al runner. El runner obtiene la tarea, clona el repositorio, ejecuta los comandos descritos en .gitlab-ci.yml y envía el resultado de vuelta a GitLab.
Aspectos clave del funcionamiento:
- Tipos de runners: Compartidos, específicos, de grupo. Se diferencian por su ámbito de visibilidad y accesibilidad para proyectos.
- Executor (Ejecutor): Define el entorno en el que se ejecutarán las tareas. Ejecutores populares:
shell,docker,kubernetes,virtualbox,ssh. La elección del ejecutor afecta a la aislamiento y al entorno de ejecución. - Registro: El runner se registra en GitLab usando un token, vinculándolo a una instancia, grupo o proyecto específicos.
- Polling (sondeo): El runner consulta periódicamente a GitLab en busca de nuevas tareas.
config.toml: Archivo de configuración que define los ajustes del runner, incluyendo el tipo de ejecutor, número de tareas paralelas y otros parámetros.
Ejemplo de estructura de config.toml:
# configuraciones globales
concurrent = 4
# configuraciones del runner
[[runners]]
name = "my-docker-runner"
url = "https://gitlab.com/"
token = "YOUR_RUNNER_TOKEN"
executor = "docker" # elección del ejecutor
[runners.docker]
tls_verify = false
image = "ubuntu:latest" # imagen al usar el ejecutor 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]