构建配置描述单个构建定义和创建新构建的触发器集。构建配置由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 部分定义了一个可选的构建钩子。 |