Skip to content
Latchkey

O Que É Provisionamento de Runner? Do Trigger à Máquina Pronta

Provisionamento de runner é tudo o que acontece entre um job ser disparado e um runner estar pronto para executá-lo - launch, boot, register, prepare.

Provisionamento é o imposto de setup do CI. Para runners quentes ele já está pago; para os frios, é o atraso antes do seu primeiro step. Conhecer os passos diz para onde vai o tempo de provisionamento e como cortá-lo.

Os passos do provisionamento

  • Allocate compute - lançar uma VM, container ou pod.
  • Boot do SO e iniciar serviços a partir da imagem do runner.
  • Register o runner com o serviço de CI (token ou config JIT).
  • Prepare o workspace e iniciar o job.

Para onde vai o tempo

Os maiores custos são o launch da instância e o boot do SO, especialmente com imagens grandes. A registration geralmente é rápida. O setup de dependências dentro do job é tecnicamente pós-provisionamento, mas contribui para o tempo até o primeiro trabalho útil.

Provisionamento a frio vs a quente

O provisionamento a frio roda todos os passos quando o job chega, custando dezenas de segundos a minutos. O provisionamento a quente faz os passos lentos com antecedência para que o job pegue um runner pronto em cerca de um segundo. Warm pools são provisionamento pré-pago.

Acelerando

Imagens menores dão boot mais rápido, warm pools escondem o custo por completo e o cache encurta o setup dentro do job. Plataformas gerenciadas ajustam os três para que o provisionamento seja efetivamente invisível ao desenvolvedor.

Quando o provisionamento falha

O provisionamento pode falhar em qualquer passo: capacidade indisponível, erros no pull da imagem ou um runner que dá boot mas nunca registra. Uma plataforma robusta retenta em capacidade nova em vez de falhar o job, para que um contratempo transitório de provisionamento não pareça um build instável para o desenvolvedor.

Principais conclusões

  • Provisionamento é criar e preparar um runner para rodar um job.
  • Os passos são allocate, boot, register e prepare.
  • O launch da instância e o boot do SO dominam o tempo de provisionamento a frio.
  • Warm pools, imagens menores e cache o tornam quase instantâneo.

Guias relacionados