O Que É um Runner Efêmero? Um Job, e Some
Um runner efêmero roda exatamente um job em uma máquina nova e é então destruído - nenhum estado sobrevive para contaminar o próximo build.
Runners efêmeros são o padrão-ouro para correção e segurança. Cada job começa a partir de uma baseline limpa e idêntica, então verde significa verde - não "verde por causa de estado residual nesta máquina específica".
O que "efêmero" significa
Um runner é provisionado para um job, o executa e é derrubado. Arquivos temporários, ferramentas instaladas, processos vazados e secrets em cache todos somem com a máquina. O próximo job recebe um runner novinho a partir da mesma imagem.
Por que previne flakiness
Runners persistentes acumulam estado - caches pela metade, processos travados, inchaço de disco - que faz builds passarem ou falharem dependendo de em qual máquina eles caem. Runners efêmeros eliminam essa classe de bug de "funciona no runner #3" porque não há histórico compartilhado.
A vantagem de segurança
Secrets e código-fonte em checkout não ficam pendurados em uma máquina compartilhada esperando o próximo job (ou atacante) encontrá-los. Para repositórios públicos, runners efêmeros são fortemente recomendados, porque um runner persistente é um alvo permanente.
O trade-off: cold starts
Uma máquina nova não tem nada em cache, então runners efêmeros pagam um imposto de provisionamento e instalação de dependências por job. A correção padrão é um cache externo mais um warm pool de runners pré-inicializados para que a máquina esteja pronta no instante em que o job chega.
Efêmero por padrão na Latchkey
Os runners da Latchkey são efêmeros - um job cada, depois destruídos - mas servidos a partir de warm pools, para que você tenha estado limpo sem a espera do cold start, além de cache para restaurar as partes caras.
Principais conclusões
- Runners efêmeros rodam um job em uma máquina nova e depois são destruídos.
- Eles eliminam o vazamento de estado entre execuções e a flakiness resultante.
- Eles melhoram a segurança por não deixar secrets ou código persistirem.
- Warm pools e cache compensam o custo de cold start das máquinas novas.