Um sistema de build é uma das partes mais importantes de uma organização de engenharia
porque cada desenvolvedor interage com ele dezenas ou centenas de vezes
por dia. Um sistema de build completo é necessário para permitir que o desenvolvedor
a produtividade à medida que a organização cresce. Para desenvolvedores individuais,
simples de compilar o código. Assim, um sistema de build pode parecer
excessivas. 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 um
um recurso externo, como uma biblioteca. Os sistemas de build garantem que você
ter tudo o que você precisa para compilar o código antes de ele começar a ser compilado. Criação
sistemas também aumentam a velocidade quando são configurados para ajudar engenheiros a compartilhar
recursos e resultados.
Esta seção aborda um pouco da história e os conceitos básicos da criação e do desenvolvimento de sistemas,
incluindo as decisões de design
que levaram à criação do Bazel. Se você estiver
conhecer sistemas de build baseados em artefatos, como Bazel, Buck e Pants,
pode pular esta seção, mas é uma visão geral útil para entender por que
os sistemas de build baseados em artefatos são excelentes para escalonar.
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 escolha quando sua organização começa a escalonar além de alguns poucos
desenvolvedores de aplicativos.
Esta página aborda builds distribuídos ou que são executados fora do
na máquina local. Isso exige uma infraestrutura mais robusta para compartilhar
recursos e resultados de build (e é onde a verdadeira magia acontece!)