Skip to content
Latchkey

O Que É um Build em Software?

Um build é o processo, e o resultado, de transformar código-fonte escrito por humanos em uma forma executável ou distribuível do software.

A palavra "build" tem dupla função: ela nomeia tanto o ato de compilar e empacotar código quanto o artifact que esse ato produz. Entender o que é um build esclarece a maior parte do que o CI faz, porque o CI é, em sua essência, um motor que roda builds.

Build como um processo

Como processo, um build transforma código-fonte em algo que um computador pode rodar. Dependendo da linguagem, isso significa compilar para código de máquina ou bytecode, transpilar para outra linguagem, empacotar arquivos juntos e empacotar o resultado. A mesma fonte pode ser construída em diferentes configurações, como debug ou release.

Build como um artifact

Como substantivo, "um build" se refere à saída desse processo: um binário, uma imagem de container, um JAR, um bundle compactado. Cada build geralmente é rotulado com um identificador de versão ou commit para que você possa rastrear exatamente qual fonte o produziu. Esse artifact é o que de fato é deployado.

Um exemplo

Para um serviço Java, um build baixa as dependências, compila a fonte em arquivos de classe, roda qualquer geração de código e empacota tudo em um único arquivo JAR marcado com uma versão. Esse JAR é "o build", e é o que vai para os servidores.

Por que builds rodam no CI

Um build é a primeira coisa que o CI faz a cada mudança, porque se o código nem sequer faz build, nada mais importa. Um build bem-sucedido e reproduzível também é uma pré-condição para teste e deployment. O CI roda builds em máquinas limpas para capturar dependências ou etapas que só funcionavam localmente por acidente.

O que faz um bom build

  • Reproduzível: a mesma entrada sempre produz a mesma saída.
  • Rápido: feedback rápido mantém os desenvolvedores integrando com frequência.
  • Rastreável: cada build mapeia de volta a um commit específico.
  • Limpo: construído do zero, não a partir de estado local remanescente.

Principais conclusões

  • Um build é tanto o processo de produzir software executável quanto sua saída.
  • Builds devem ser reproduzíveis, rápidos e rastreáveis até um commit.
  • O CI faz build em máquinas limpas para capturar suposições que só valem localmente.

Guias relacionados