As part of our commitment to Continuous Integration1, all products or libraries we release must have an automated build.

There are many ways to script an automated build, and the details will depend on the application or service in question.

Build Steps

Irrespective of which tool you select, as a minimum an automated build must:


An important responsibility of the automated build is to produce the distribution artifacts. An automated process must exist for deploying the artifacts on to an environment provisioned to run it. Artifacts must:

Artifacts should not contain code required during test and build, nor any development dependencies.

If the artifact is a Docker container image, the same rules apply (except the third-party dependencies include the underlying OS).