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.
Sistemas de build baseados em tarefas
Nesta página, você vai aprender sobre 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 à dificuldade pontos de sistemas de build baseados em tarefas.
-
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!)
-
Esta página aborda algumas complicações de dependências em grande escala e estratégias para combater essas complicações.