Build systems are an aspect of Continuous Integration & Continous Delivery.

Tools

  • Psake
  • Make
  • Rake
  • Bazel
  • Buck
  • Cake

Terminology

  • Task: An step in the build system that is typically composed of different actions. This could be a shell out to another tool, or executing commands.

Distinguishers

  • Dependency Management: Static vs Dynamic dependancy resolution.
  • Local & Remote: Whether the tools target working in different environments.
  • Deterministic & Non Deterministic: Deterministic builds means that everything going into the build is the same. This means that builds should be consistent across systems.
  • Parallelism: The ability to execute tasks in parallel.