构建配置描述单个构建定义和创建新构建的触发器集。构建配置由BuildConfig定义,它是一个 REST 对象,可用于在 POST 请求中发送到 API 服务器以创建新实例。
构建配置或BuildConfig的特点是构建策略和一个或多个源。策略决定流程,而源提供其输入。
根据您选择如何使用 OpenShift Container Platform 创建应用程序,如果您使用 Web 控制台或 CLI,通常会自动为您生成BuildConfig,并且可以随时编辑。如果您选择稍后手动更改配置,了解构成BuildConfig的各个部分及其可用选项会有所帮助。
以下示例BuildConfig会在容器镜像标签或源代码更改时每次创建一个新的构建
BuildConfig 对象定义
kind: BuildConfig
apiVersion: build.openshift.io/v1
metadata:
name: "ruby-sample-build" (1)
spec:
runPolicy: "Serial" (2)
triggers: (3)
-
type: "GitHub"
github:
secret: "secret101"
- type: "Generic"
generic:
secret: "secret101"
-
type: "ImageChange"
source: (4)
git:
uri: "https://github.com/openshift/ruby-hello-world"
strategy: (5)
sourceStrategy:
from:
kind: "ImageStreamTag"
name: "ruby-20-centos7:latest"
output: (6)
to:
kind: "ImageStreamTag"
name: "origin-ruby-sample:latest"
postCommit: (7)
script: "bundle exec rake test"
| 1 |
此规范创建了一个名为ruby-sample-build的新BuildConfig。 |
| 2 |
runPolicy 字段控制是否可以同时运行从此构建配置创建的构建。默认值为Serial,这意味着新构建将顺序运行,而不是同时运行。 |
| 3 |
您可以指定一系列触发器,这些触发器会导致创建新的构建。 |
| 4 |
source 部分定义构建的来源。源类型决定输入的主要来源,可以是Git(指向代码仓库位置)、Dockerfile(从内联 Dockerfile 构建)或Binary(接受二进制有效负载)。可以同时拥有多个源。有关详细信息,请参阅每个源类型的文档。 |
| 5 |
strategy 部分描述用于执行构建的构建策略。您可以在此处指定Source、Docker或Custom策略。此示例使用 Source-to-image (S2I) 用于应用程序构建的ruby-20-centos7 容器镜像。 |
| 6 |
成功构建容器镜像后,它将被推送到output 部分中描述的仓库。 |
| 7 |
postCommit 部分定义了一个可选的构建钩子。 |