Managing build output

Use the following sections for an overview of and instructions for managing build output.

Build output

Builds that use the docker or source-to-image (S2I) strategy result in the creation of a new container image. The image is then pushed to the container image registry specified in the output section of the Build specification.

If the output kind is ImageStreamTag, then the image will be pushed to the integrated OpenShift image registry and tagged in the specified imagestream. If the output is of type DockerImage, then the name of the output reference will be used as a docker push specification. The specification may contain a registry or will default to DockerHub if no registry is specified. If the output section of the build specification is empty, then the image will not be pushed at the end of the build.

Output to an ImageStreamTag

  1. spec:
  2. output:
  3. to:
  4. kind: "ImageStreamTag"
  5. name: "sample-image:latest"

Output to a docker Push Specification

  1. spec:
  2. output:
  3. to:
  4. kind: "DockerImage"
  5. name: "my-registry.mycompany.com:5000/myimages/myimage:tag"

Output image environment variables

docker and source-to-image (S2I) strategy builds set the following environment variables on output images:

VariableDescription

OPENSHIFT_BUILD_NAME

Name of the build

OPENSHIFT_BUILD_NAMESPACE

Namespace of the build

OPENSHIFT_BUILD_SOURCE

The source URL of the build

OPENSHIFT_BUILD_REFERENCE

The Git reference used in the build

OPENSHIFT_BUILD_COMMIT

Source commit used in the build

Additionally, any user-defined environment variable, for example those configured with S2I] or docker strategy options, will also be part of the output image environment variable list.

Output image labels

docker and source-to-image (S2I)` builds set the following labels on output images:

LabelDescription

io.openshift.build.commit.author

Author of the source commit used in the build

io.openshift.build.commit.date

Date of the source commit used in the build

io.openshift.build.commit.id

Hash of the source commit used in the build

io.openshift.build.commit.message

Message of the source commit used in the build

io.openshift.build.commit.ref

Branch or reference specified in the source

io.openshift.build.source-location

Source URL for the build

You can also use the BuildConfig.spec.output.imageLabels field to specify a list of custom labels that will be applied to each image built from the build configuration.

Custom Labels to be Applied to Built Images

  1. spec:
  2. output:
  3. to:
  4. kind: "ImageStreamTag"
  5. name: "my-image:latest"
  6. imageLabels:
  7. - name: "vendor"
  8. value: "MyCompany"
  9. - name: "authoritative-source-url"
  10. value: "registry.mycompany.com"