Single Job Build

Context

  1. New code base: In such cases there is hardly much to build hence this is a pragmatic choice. There is hardly any gains by making it any more complex than this.
  2. Adoption: In a project which has not done continuous integration in long time, the simplicity of single job build helps in team members understanding how CI works. During adoption of CI in a team, the ability to repeatedly build the code and quality of build script is important.

Description

This is the Continuous Integration configured in its simplest form. The complete build is of a single job which performs everything. [ref: materials, job]

Limitations

  • Implementation of these patterns often run into build time problem, as the size of the codebase increases.
  • There is possible orthogonal consequence. A single job build doesn't induce the mindset of creating multiple components/modules, leading to monolithic architecture. One should watch out for such a possibility.