×

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

BuildConfig

构建配置描述单个构建定义和创建新构建的触发器集。构建配置由BuildConfig定义,它是一个 REST 对象,可用于在 POST 到 API 服务器以创建新实例。

构建配置或BuildConfig的特点是构建策略和一个或多个源。策略决定过程,而源提供其输入。

根据您选择如何使用 OpenShift Dedicated 创建应用程序,如果您使用 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部分定义可选的构建钩子。