Sobes.tech
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]