Noções básicas de criação

Reportar um problema Ver a fonte Nightly · 8.4 · 8.3 · 8.2 · 8.1 · 8.0 · 7.6

Um sistema de build é uma das partes mais importantes de uma organização de engenharia, porque cada desenvolvedor interage com ele potencialmente dezenas ou centenas de vezes por dia. Um sistema de build completo é necessário para permitir a produtividade dos desenvolvedores à medida que uma organização cresce. Para desenvolvedores individuais, é simples compilar o código, e um sistema de build pode parecer excessivo. Mas, em uma escala maior, ter um sistema de build ajuda a gerenciar dependências compartilhadas, como depender de outra parte da base de código ou de um recurso externo, como uma biblioteca. Os sistemas de build ajudam a garantir que você tenha tudo o que precisa para criar seu código antes de começar a criar. Os sistemas de build também aumentam a velocidade quando são configurados para ajudar os engenheiros a compartilhar recursos e resultados.

Esta seção aborda um pouco da história e os fundamentos da criação e dos sistemas de build, incluindo as decisões de design que foram tomadas para criar o Bazel. Se você conhece sistemas de build baseados em artefatos, como Bazel, Buck e Pants, pode pular esta seção. No entanto, ela oferece uma visão geral útil para entender por que esses sistemas são excelentes para permitir o escalonamento.

  • Por que um sistema de build?

    Se você nunca usou um sistema de build, comece aqui. Nesta página, explicamos por que você deve usar um sistema de build e por que compiladores e scripts de build não são a melhor opção quando sua organização começa a crescer além de alguns desenvolvedores.

  • Sistemas de build baseados em tarefas

    Nesta página, discutimos sistemas de build baseados em tarefas (como Make, Maven e Gradle) e alguns dos desafios deles.

  • Sistemas de build baseados em artefatos

    Esta página discute sistemas de build baseados em artefatos em resposta aos pontos problemáticos dos sistemas de build baseados em tarefas.

  • Builds distribuídos

    Esta página aborda builds distribuídos, ou seja, executados fora da sua máquina local. Isso exige uma infraestrutura mais robusta para compartilhar recursos e gerar resultados (e é aqui que a verdadeira mágica acontece!).

  • Gerenciamento de dependências

    Esta página aborda algumas complicações de dependências em grande escala e estratégias para neutralizá-las.