此内容没有您所选择的语言版本。

Chapter 6. Custom Builder


6.1. Overview

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 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.

6.2. Custom Builder Image

The builder image upon invocation receives following environment variables with the information needed to proceed with the build:

Table 6.1. Custom Builder Environment Variables
Variable nameDescription

BUILD

This variable specifies the entire serialized Build object.

SOURCE_REPOSITORY

This variable specifies the URL to a repository with sources to build.

DOCKER_SOCKET

This variable specifies the path to the Docker socket, if exposing the Docker socket was enabled on BuildConfig.

6.3. Custom Builder Workflow

Although the custom builder image author has a great flexibility in defining the build process on its own, still they should follow a few required steps necessary to seamlessly run a build inside of OpenShift Enterprise. The required steps for a custom builder image are following:

  1. Read the Build definition, which contains all the necessary information about input parameters for the build.
  2. Run the build process.
  3. If your build produces image, push it to the Build's output location if the output location is defined. Other output locations can be passed with environment variable for now.
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.