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]