Skip to content
Latchkey

What Is a Build in Software?

A build is the process, and the result, of turning human-written source code into a runnable or distributable form of the software.

The word "build" does double duty: it names both the act of compiling and packaging code, and the artifact that act produces. Understanding what a build is clarifies most of what CI does, because CI is, at its core, an engine that runs builds.

Build as a process

As a process, a build transforms source code into something a computer can run. Depending on the language, that means compiling to machine code or bytecode, transpiling to another language, bundling files together, and packaging the result. The same source can be built in different configurations, such as debug or release.

Build as an artifact

As a noun, "a build" refers to the output of that process: a binary, a container image, a JAR, a zipped bundle. Each build is typically labeled with a version or commit identifier so you can trace exactly which source produced it. This artifact is what actually gets deployed.

An example

For a Java service, a build downloads dependencies, compiles the source into class files, runs any code generation, and packages everything into a single JAR file tagged with a version. That JAR is "the build," and it is what ships to servers.

Why builds run in CI

A build is the first thing CI does on every change, because if the code does not even build, nothing else matters. A successful, reproducible build is also a precondition for testing and deployment. CI runs builds on clean machines to catch dependencies or steps that only worked locally by accident.

What makes a good build

  • Reproducible: same input always yields the same output.
  • Fast: quick feedback keeps developers integrating often.
  • Traceable: every build maps back to a specific commit.
  • Clean: built from scratch, not from leftover local state.

Key takeaways

  • A build is both the process of producing runnable software and its output.
  • Builds should be reproducible, fast, and traceable to a commit.
  • CI builds on clean machines to catch local-only assumptions.

Related guides

Tired of flaky CI? Latchkey auto-heals failed jobs and retries them for you. Start free →