×

以下部分定义了构建、构建配置的概念,并概述了可用的主要构建策略。

BuildConfig

构建配置描述单个构建定义和创建新构建的触发器集。构建配置由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 部分描述用于执行构建的构建策略。您可以在此处指定SourceDockerCustom策略。此示例使用 Source-to-image (S2I) 用于应用程序构建的ruby-20-centos7 容器镜像。
6 成功构建容器镜像后,它将被推送到output 部分中描述的仓库。
7 postCommit 部分定义了一个可选的构建钩子。