Layer Cache - Definição do Glossário de CI/CD
Um layer cache reutiliza etapas de build de container cujas entradas não mudaram. Como um cache miss invalida todas as camadas seguintes, a ordem das instruções em um Dockerfile controla diretamente a eficácia do cache.
Um layer cache armazena o resultado de cada instrução em um build de container para que camadas inalteradas sejam reutilizadas entre builds; uma camada é reconstruída apenas quando sua instrução ou suas entradas mudam, e toda camada posterior é reconstruída junto com ela.
O layer caching é a principal alavanca para builds de imagem rápidos; colocar etapas estáveis antes das voláteis maximiza os acertos.
Regra de ordenação
Coloque etapas que raramente mudam (instalar pacotes de sistema, copiar o lockfile e instalar dependências) antes das etapas que mudam com frequência (copiar o código-fonte da aplicação). Uma mudança no fonte então invalida apenas as últimas camadas.
Em CI
Runners efêmeros começam com um layer cache vazio, então os pipelines exportam o cache para um registry ou usam os backends de cache do BuildKit para carregá-lo entre execuções.