diff --git a/creating_images/custom.adoc b/creating_images/custom.adoc index 9fdad8db5085..4495f6d0bd58 100644 --- a/creating_images/custom.adoc +++ b/creating_images/custom.adoc @@ -12,9 +12,11 @@ toc::[] == Overview link:../architecture/core_objects/builds.html#custom-build[Custom build] is designed to fill the gap that was created when everybody jumped into creating docker images. -Still there is a requirement to produce packages with all the software being installed -and most importantly one needs to be able to build base docker images. This is -where Custom build is the perfect match to fill in that gap. +Still there is a requirement to produce individual artifacts (packages, jars, wars, +installable zips, base images etc.) This is where Custom build is the perfect match +to fill in that gap. Additionally Custom build allows implementing any extended build +process for example, CI/CD flow that runs unit or integration tests. The limit here +is just the imagination of the custom builder image author. To fully utilize the power of Custom build one needs to be understand how to create a builder image that will be capable of building desired objects. @@ -38,3 +40,15 @@ the information needed to proceed with the build: |`*DOCKER_SOCKET*` |This variable specifies the path to docker socket, if exposing docker socket was enabled on BuildConfig. |=== + +== Custom builder workflow +Although custom builder image author has a great flexibility in defining the build +process on its own, still he should follow a few required steps necessary to seamlessly +run a build inside of OpenShift. The required steps for a custom builder image are following: + +. Read the link:../rest_api/openshift_v1.html#v1-build[Build] definition, which +contains all the necessary information about input parameters for the build. +. Run the build process. +. If your build produces image, push it to the link:../rest_api/openshift_v1.html#v1-build[Build]'s +output location if the output location is defined. Other output locations can be passed with environment +variable for now.