6.4. 使用自定义构建器镜像
您可以定义一个 BuildConfig 对象,它将结合使用 Custom 策略与自定义构建器镜像来执行您的自定义构建逻辑。
先决条件
- 为新自定义构建器镜像定义所有必要的输入。
- 构建您的自定义构建器镜像。
流程
创建名为
buildconfig.yaml的文件。此文件定义要在项目中创建并执行的BuildConfig对象:Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 指定项目的名称。
运行以下命令来创建
BuildConfig对象:oc create -f buildconfig.yaml
$ oc create -f buildconfig.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 创建名为
imagestream.yaml的文件。此文件定义构建要将镜像推送到的镜像流:kind: ImageStream apiVersion: image.openshift.io/v1 metadata: name: sample-custom spec: {}kind: ImageStream apiVersion: image.openshift.io/v1 metadata: name: sample-custom spec: {}Copy to Clipboard Copied! Toggle word wrap Toggle overflow 运行以下命令来创建镜像流:
oc create -f imagestream.yaml
$ oc create -f imagestream.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 输入以下命令运行自定义构建:
oc start-build sample-custom-build -F
$ oc start-build sample-custom-build -FCopy to Clipboard Copied! Toggle word wrap Toggle overflow 构建运行时,它会启动一个 Pod 来运行之前构建的自定义构建器镜像。该 Pod 将运行定义为自定义构建器镜像入口点的
build.sh逻辑。build.sh逻辑调用 Buildah 来构建自定义构建器镜像中嵌入的dockerfile.sample,然后使用 Buildah 将新镜像推送到sample-custom 镜像流。