Cache de compilação e compilações apenas de projetos afetados
Mantenha a CI do monorepo rápida à medida que ele cresce: use grafos de tarefas, cache de computações e detecção de projetos afetados para compilar e testar apenas o que mudou.
Cache de compilação e compilações apenas de projetos afetados é uma aula grátis de Git Advanced: Monorepo, Submodules & Workflows 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 Git Advanced: Monorepo, Submodules & Workflows, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Git Advanced: Monorepo, Submodules & Workflows inclui 4 aulas no total.
Partes desta aula ainda não foram traduzidas e aparecem em inglês.
The Scaling Wall
As a monorepo grows, rebuilding and retesting everything on every commit becomes painfully slow.
The fix is to only do work that the change actually requires, and to cache results that have not changed.
The Project Dependency Graph
Monorepo tools build a graph of how projects depend on each other. This graph tells the tool what is downstream of any change.
nx graphAffected Detection
By comparing your branch against a base commit, the tool computes the set of affected projects — those changed plus everything depending on them.
nx affected --target=test --base=mainWhy Only Affected
If you change a leaf library, only it and its consumers need rebuilding — unrelated apps are untouched. This can cut CI time from hours to minutes on large repos.
Computation Caching
Tools hash a task's inputs (source files, config, dependencies). If the hash matches a previous run, the cached output is replayed instead of recomputing.
What Goes Into the Hash
The cache key combines:
- Source file contents
- The exact command and its options
- Dependency versions
- Relevant environment variables
Any change to these invalidates the cache entry.
Local vs Remote Cache
A local cache speeds up your own repeated runs. A remote cache shares results across the whole team and CI, so work done once benefits everyone.
nx run-many --target=build --allCache Hits and Misses
A hit replays stored output instantly; a miss runs the task and stores the result. Tools report this so you can see the time saved.
Correctness of Caching
Caching is only safe if tasks are deterministic and inputs are declared accurately. Hidden inputs (timestamps, network calls) cause stale or wrong cache hits.
Wiring It into CI
In CI, run affected targets against the merge base and enable the remote cache. Each pipeline then does the minimum work and reuses shared results.
nx affected --target=build,test,lint --base=origin/mainTooling Landscape
Popular tools provide these features: Nx and Turborepo for JS/TS, Bazel for polyglot at scale, and Gradle/Pants for JVM. The concepts are the same across all.
Quick Check
Test your build-optimization knowledge.
Recap
You can now keep monorepo CI fast at scale:
- Use the project dependency graph to compute affected work
- Cache task results keyed on hashed inputs
- Share results via a remote cache across team and CI
- Keep tasks deterministic so caching stays correct
This extends your dependency management and CI/CD strategy lessons.
Perguntas Frequentes
A aula “Cache de compilação e compilações apenas de projetos afetados” é grátis?
Sim — o texto completo de “Cache de compilação e compilações apenas de projetos afetados” é 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 Git Advanced: Monorepo, Submodules & Workflows, atualize para CoddyKit PRO. O curso de Git Advanced: Monorepo, Submodules & Workflows inclui 4 aulas no total.
O que vou aprender em “Cache de compilação e compilações apenas de projetos afetados”?
Mantenha a CI do monorepo rápida à medida que ele cresce: use grafos de tarefas, cache de computações e detecção de projetos afetados para compilar e testar apenas o que mudou. Você pratica Git Advanced: Monorepo, Submodules & Workflows 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 Git Advanced: Monorepo, Submodules & Workflows?
Nenhuma experiência prévia é necessária. Git Advanced: Monorepo, Submodules & Workflows 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 “Cache de compilação e compilações apenas de projetos afetados”?
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 Git Advanced: Monorepo, Submodules & Workflows?
Sim. Cada aula de Git Advanced: Monorepo, Submodules & Workflows 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
- Gerenciamento de Dependências em Monorepos
- Commits Atômicos e Alterações entre Projetos
- Estratégias de CI/CD para Monorepos
- Cache de compilação e compilações apenas de projetos afetados