A build is the process of transforming input parameters into a resulting object (build object). Most often, the process is used to transform input parameters or source code into a runnable container image.
{product-title} uses Kubernetes by creating containers from build images and pushing them to a container image registry.
Builds take advantage of resource restrictions, specifying limitations on resources such as CPU usage, memory usage, and build or pod execution time. Build objects share common characteristics including inputs for a build, need to complete a build process, logging the build process, and publishing resources from successful builds and the final status of the build.
The {product-title} build system provides extensible support for build strategies that are based on selectable types specified in the build API.
The build strategies are:
-
Docker build
-
Source-to-Image (S2I) build
-
Custom build
-
Pipeline build
The six types of sources that can be given as build input are:
-
Content extracted from existing images
-
Git repositories
-
Binary (Local) inputs
-
Input secrets
-
External artifacts
The resulting object of a build depends on the builder used to create it. For Docker and S2I builds, the resulting objects are runnable images. For Custom builds, the resulting objects are whatever the builder image author has specified.
Additionally, the Pipeline build strategy can be used to implement sophisticated workflows including continuous integration and continuous deployment.