O Que É um Remote Cache?
Um remote cache é um build cache hospedado em armazenamento compartilhado, em vez de em uma única máquina, de modo que saídas em cache produzidas por um runner ou desenvolvedor possam ser baixadas e reutilizadas por outro. Ele transforma trabalho feito em qualquer lugar em ganho de velocidade em todos os lugares. Ferramentas como Bazel, Turborepo e Gradle suportam remote caches exatamente por essa razão.
Por que isso importa
Em runners de CI efêmeros, um cache local desaparece quando a máquina é destruída, então o próximo job reconstrói do zero. Um remote cache sobrevive ao runner, permitindo que máquinas efêmeras novas reutilizem trabalho anterior. Plataformas de runner gerenciado frequentemente combinam runners efêmeros com um remote cache para obter isolamento e velocidade ao mesmo tempo.
Conceitos relacionados
- Requer builds hermetic e endereçados por conteúdo para ser seguro
- Cache poisoning é um risco se as escritas não forem confiáveis
- O custo de transferência de rede pode anular a economia para artifacts minúsculos