Esquema de aceleração de cache baseado em cópia na gravação
O CNB oferece um mecanismo de cache inovador para ferramentas de gerenciamento de pacotes demoradas, como o npm/pip:
- Configuração de cache declarativo: através de
volumes: node_modules:copy-on-writeA sintaxe declara o diretório a ser armazenado em cache, e o sistema mantém automaticamente uma cópia do cache - Princípio de replicação de tempo de gravaçãoCache completo criado na primeira compilação, referências de ponteiro criadas em compilações subsequentes, gravações reais realizadas somente quando os arquivos são modificados (85% de E/S de disco economizado em comparação com o cache tradicional)
- Isolamento de várias filiaisCache: mantém automaticamente caches separados por ramificação do Git para evitar conflitos de dependência entre ramificações diferentes.
- Dicas de aquecimento do cacheEtapa de pré-download: Uma etapa de pré-download pode ser adicionada à configuração para acelerar a primeira compilação:
stages:
- name: "缓存预热"
image: node:20
script:
- npm config set registry https://registry.npmmirror.com
- npm install --prefer-offline
Exemplo de implementação: um grande projeto de front-end reduziu o tempo de instalação do npm de 12 minutos para 35 segundos.
Essa resposta foi extraída do artigoCNB (Cloud Native Build): uma plataforma declarativa de desenvolvimento e compilação nativa na nuvemO































