Sobes.tech
Middle

Como funciona o GitLab Runner?

sobes.tech IA

Resposta da IA

O GitLab Runner é um agente que executa tarefas de CI/CD. Intercambia dados com o GitLab CI/CD através de API. Quando ocorre um evento no GitLab que inicia um pipeline (por exemplo, um commit), o GitLab envia uma solicitação ao runner. O runner obtém a tarefa, clona o repositório, executa os comandos descritos em .gitlab-ci.yml e envia o resultado de volta ao GitLab.

Aspectos-chave do funcionamento:

  • Tipos de runners: Compartilhados, específicos, de grupo. Diferenciam-se pela sua abrangência e acessibilidade aos projetos.
  • Executor (Executante): Define o ambiente onde as tarefas serão executadas. Executores populares: shell, docker, kubernetes, virtualbox, ssh. A escolha do executor influencia a isolamento e o ambiente de execução.
  • Registo: O runner regista-se no GitLab usando um token, vinculando-o a uma instância, grupo ou projeto específicos.
  • Polling (sondagem): O runner consulta periodicamente o GitLab em busca de novas tarefas.
  • config.toml: Ficheiro de configuração que define as definições do runner, incluindo o tipo de executor, número de tarefas paralelas e outros parâmetros.

Exemplo de estrutura de config.toml:

# configurações globais
concurrent = 4

# configurações do runner
[[runners]]
  name = "my-docker-runner"
  url = "https://gitlab.com/"
  token = "YOUR_RUNNER_TOKEN"
  executor = "docker" # escolha do executor
  [runners.docker]
    tls_verify = false
    image = "ubuntu:latest" # imagem ao usar o executor 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]