Skip to content
Latchkey

O Que É um CI Runner? A Máquina Que Executa Seu Pipeline

Um CI runner é a computação que de fato executa seu pipeline: ele faz checkout do código, roda seus steps e reporta os resultados de volta ao serviço de CI.

Quando você faz push do código, seu serviço de CI não roda seus testes por conta própria. Ele entrega cada job a um runner - uma máquina real ou virtual, ou um container - que faz o trabalho. Entender runners é a chave para entender velocidade, custo e confiabilidade do CI.

O que um runner realmente faz

Um runner se registra no serviço de CI, espera por um job e então executa esse job: clona o repositório, configura a toolchain, roda cada step em ordem, faz upload de artifacts e reporta o status de saída. Quando o job termina, o runner ou se destrói ou volta a um estado ocioso para aguardar o próximo job.

O handshake runner-serviço

O runner faz poll no serviço de CI por uma conexão autenticada. O serviço lhe atribui um job compatível com as labels do runner, transmite os logs de volta conforme os steps executam e registra a conclusão. Se a conexão cair no meio do job, o job normalmente é marcado como falho, porque o serviço já não consegue confirmar o progresso.

Hosted, self-hosted e gerenciado

  • Hosted: o fornecedor de CI possui e opera as máquinas (por exemplo, GitHub-hosted runners). Zero setup, tarifado por minuto.
  • Self-hosted: você roda o agente do runner na sua própria infraestrutura. Controle total, ônus operacional total.
  • Gerenciado: um terceiro opera runners em seu nome - conveniência parecida com a de hosted, sem o preço do fornecedor.

Por que runners determinam custo e velocidade

CPU, memória e disco do runner decidem quão rápido um job roda. Preço e concorrência do runner decidem o que você paga. E a confiabilidade do runner - estado limpo, rede saudável, memória suficiente - decide com que frequência um build fica flaky. A maior parte da dor do CI remonta a um runner pequeno demais, lento demais ou sujo demais.

Onde a Latchkey se encaixa

A Latchkey é uma plataforma de runners gerenciados: seus jobs do GitHub Actions rodam em runners que a Latchkey opera, tipicamente cerca de 70% mais baratos que os GitHub-hosted, servidos a partir de warm pools para não haver espera de cold start, e com autocorreção para que falhas transitórias façam retry sem intervenção humana.

Principais conclusões

  • Um CI runner é a máquina ou container que executa os jobs do seu pipeline.
  • Runners se registram no serviço de CI, rodam jobs compatíveis e reportam resultados.
  • Os três modelos são hosted, self-hosted e gerenciado.
  • Tamanho, preço e limpeza do runner determinam velocidade, custo e flakiness do CI.

Guias relacionados