0Pricing
CI/CD with GitHub Actions & DevOps Pipelines · Aula

Armazenando dependências em cache para compilações mais rápidas

Acelere os fluxos de CI armazenando dependências e artefatos de compilação em cache com a ação actions/cache, chaves e chaves de restauração.

Armazenando dependências em cache para compilações mais rápidas é uma aula grátis de CI/CD with GitHub Actions & DevOps Pipelines no CoddyKit. Esta é a aula 4 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de CI/CD with GitHub Actions & DevOps Pipelines, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de CI/CD with GitHub Actions & DevOps Pipelines inclui 4 aulas no total.

O custo de reinstalar

A maior parte do tempo da integração contínua é gasta baixando e instalando as mesmas dependências em cada execução. O armazenamento em cache as mantém entre as execuções para que as compilações seguintes reutilizem o trabalho, muitas vezes reduzindo significativamente o tempo do fluxo.

A ação de cache

O GitHub fornece actions/cache. Você informa um caminho para armazenar em cache e uma chave que identifica a entrada do cache. Quando há um acerto, o caminho é restaurado; caso contrário, ele é salvo após a tarefa.

- uses: actions/cache@v4
  with:
    path: ~/.npm
    key: npm-${{ hashFiles('package-lock.json') }}

Projetando uma boa chave

A chave deve mudar apenas quando o conteúdo armazenado em cache também precisar mudar. Calcular o hash do arquivo de bloqueio é ideal: um novo arquivo de bloqueio significa novas dependências, então uma nova entrada de cache é criada.

key: ${{ runner.os }}-npm-${{ hashFiles('**/package-lock.json') }}

Chaves de restauração

restore-keys fornece prefixos de reserva. Se a chave exata não for encontrada, a ação restaura o cache mais recente cuja chave começa com um prefixo, proporcionando uma inicialização parcial já preparada.

restore-keys: |
  ${{ runner.os }}-npm-

Acerto ou falha do cache

Quando há uma correspondência exata de chave, ocorre um acerto do cache e o caminho é restaurado. Quando há uma falha, a tarefa é executada normalmente e o cache é salvo no final usando a chave principal, pronto para a próxima vez.

Armazenamento em cache integrado à configuração

As ações de configuração das linguagens já incluem armazenamento em cache. Para Node, setup-node com cache: npm gerencia o cache de dependências para você, sem necessidade de uma etapa de cache separada.

- uses: actions/setup-node@v4
  with:
    node-version: 20
    cache: npm

O que armazenar em cache

Armazene em cache os diretórios de download do gerenciador de pacotes, e não o node_modules instalado, quando possível, porque os caches de download são portáteis e a etapa de instalação ainda verifica a integridade.

  • Node: ~/.npm
  • Python: cache do pip
  • Java: ~/.m2 ou caches do Gradle

Escopo e limites do cache

Os caches têm escopo por ramo, com reserva para o ramo padrão, e possuem um limite de tamanho por repositório. Caches não utilizados são removidos com o tempo, portanto projete chaves que mudem de maneira previsível.

Evitando caches desatualizados

Se sua chave nunca mudar, você poderá fornecer dependências desatualizadas. Sempre associe a chave ao hash do arquivo de bloqueio para que as atualizações invalidem o cache automaticamente.

Matriz e OS nas chaves

Em compilações matriciais entre sistemas operacionais ou versões, inclua runner.os e a versão na chave para que cada variante tenha seu próprio cache correto, sem conflitos.

key: ${{ runner.os }}-node20-${{ hashFiles('package-lock.json') }}

Medindo o ganho

Compare a duração das tarefas antes e depois do armazenamento em cache e observe o indicador de acerto do cache nos registros. Uma taxa de acerto consistentemente baixa indica uma chave que muda com frequência excessiva.

Verificação rápida

Teste sua compreensão sobre o armazenamento em cache de dependências.

Revisão

Você acelerou a integração contínua com o armazenamento em cache de dependências: a ação actions/cache com uma chave baseada no hash do arquivo de bloqueio e uma alternativa de reserva restore-keys, o cache integrado às ações de configuração, a escolha do que armazenar em cache, a inclusão do sistema operacional e da versão nas chaves matriciais e a prevenção de caches desatualizados associando a chave ao arquivo de bloqueio.

Perguntas Frequentes

A aula “Armazenando dependências em cache para compilações mais rápidas” é grátis?

Sim — o texto completo de “Armazenando dependências em cache para compilações mais rápidas” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de CI/CD with GitHub Actions & DevOps Pipelines, atualize para CoddyKit PRO. O curso de CI/CD with GitHub Actions & DevOps Pipelines inclui 4 aulas no total.

O que vou aprender em “Armazenando dependências em cache para compilações mais rápidas”?

Acelere os fluxos de CI armazenando dependências e artefatos de compilação em cache com a ação actions/cache, chaves e chaves de restauração. Você pratica CI/CD with GitHub Actions & DevOps Pipelines com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.

Preciso ter experiência prévia para começar CI/CD with GitHub Actions & DevOps Pipelines?

Nenhuma experiência prévia é necessária. CI/CD with GitHub Actions & DevOps Pipelines no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 4 de 4.

Quanto tempo leva a aula “Armazenando dependências em cache para compilações mais rápidas”?

A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.

Posso escrever e executar código nesta aula de CI/CD with GitHub Actions & DevOps Pipelines?

Sim. Cada aula de CI/CD with GitHub Actions & DevOps Pipelines inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.

Todas as aulas deste curso

  1. Acionadores e eventos de fluxos de trabalho
  2. Execução de testes com GitHub Actions
  3. Análise estática e verificações de qualidade do código
  4. Armazenando dependências em cache para compilações mais rápidas
← Voltar para CI/CD with GitHub Actions & DevOps Pipelines