Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 17 additions & 3 deletions creating_images/custom.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -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.
Expand All @@ -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.