第 2 章 BuildConfig [build.openshift.io/v1]


描述

构建配置为新容器镜像定义构建流程。可以使用三种构建类型 - 使用 Dockerfile 构建(Source-to-Image 构建)的 Source-to-Image 构建,它使用特殊准备的基本镜像来接受源代码,以及能够运行 // arbitrary 容器镜像的自定义构建,并作为基础运行并接受构建参数。在集群和完成的时间运行的构建被推送到 "output" 部分中指定的容器镜像 registry。构建可以通过 Webhook 触发,当基础镜像更改时,或者当用户手动请求新构建时。

构建配置创建的每个构建都会编号,并引用其父级配置。可以同时触发多个构建。没有"输出"集的构建可用于测试代码或运行验证构建。

兼容性级别 1:在主发行版本中至少提供 12 个月或 3 个次版本(以更长的时间为准)。

类型
object
必填
  • spec

2.1. 规格

属性类型描述

apiVersion

字符串

APIVersion 定义对象的这个表示法的版本化的 schema。服务器应该将识别的模式转换为最新的内部值,并可拒绝未识别的值。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources

kind

字符串

kind 是一个字符串值,代表此对象所代表的 REST 资源。服务器可以从客户端向其提交请求的端点推断。无法更新。采用驼峰拼写法 (CamelCase)。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds

metadata

ObjectMeta

metadata 是标准对象的元数据。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata

spec

object

BuildConfigSpec 描述了创建构建的时间和方式

status

object

BuildConfigStatus 包含构建配置对象的当前状态。

2.1.1. .spec

描述
BuildConfigSpec 描述了创建构建的时间和方式
类型
object
必填
  • 策略
属性类型描述

completionDeadlineSeconds

整数

completionDeadlineSeconds 是一个可选持续时间(以秒为单位),从系统中调度构建 pod 的时间,在系统主动尝试终止构建前,构建可能在节点上处于活跃状态;值必须是正整数。

failedBuildsHistoryLimit

整数

failedBuildsHistoryLimit 是要保留的旧失败构建的数量。创建 BuildConfig 时,将保留 5 个最新失败构建,除非设置了这个值。如果在 BuildConfig 创建后删除,则所有失败的构建都会被保留。

mountTrustedCA

布尔值

mountTrustedCA 绑定会将集群的可信证书颁发机构(如集群的代理配置中定义的)挂载到构建中。这允许自定义 PKI 证书颁发机构(如私有工件存储库和 HTTPS 代理)签名的构建信任组件内处理。

当此字段设置为 true 时,构建中的 /etc/pki/ca-trust 的内容由构建容器管理,并且对此目录或其子目录的任何更改(如 Dockerfile RUN 指令中)都不会保留在构建的输出镜像中。

nodeSelector

对象(字符串)

nodeSelector 是一个选择器,对于构建 pod 适合某个节点,则必须为 true。如果为 nil,它可以被集群的默认构建 nodeselector 值覆盖。如果设置为空映射或带有任何值的映射,则忽略默认的构建 nodeselector 值。

output

object

BuildOutput 是构建策略的输入,并描述了策略应生成的容器镜像。

postCommit

object

BuildPostCommitSpec 包含构建提交 hook 规格。hook 在运行构建输出镜像的临时容器中执行命令,紧接在提交镜像的最后一层后,并在镜像推送到 registry 之前。命令通过当前工作目录($PWD)设置为镜像的 WORKDIR 来执行。

如果 hook 执行失败,构建将标记为失败。如果脚本或命令返回非零退出代码,或者存在与启动临时容器相关的任何其他错误,它将失败。

配置 hook 有五种不同的方法。例如,以下所有形式同等,将执行 rake test --verbose

1.Shell 脚本:

"postCommit": { "script": "rake test --verbose", }

以上是一个便捷的表单,相当于:

"postCommit": { "command": ["/bin/sh", "-ic"], "args": ["rake test --verbose"] }

2.作为镜像入口点的命令:

"postCommit": { "commit": ["rake", "test", "--verbose"] }

命令覆盖 exec 表单中的镜像入口点,如 Docker 所述

3.将参数传递给默认入口点:

"postCommit": { "args": ["rake", "test", "--verbose"] }

只有在镜像入口点可以处理参数时,此表单才有用。

4.Shell 脚本带有参数:

"postCommit": { "script": "rake test $1", "args": ["--verbose"] }

如果您需要在 shell 脚本中正确传递参数,此表单很有用。在 脚本中,$0 将为 "/bin/sh",$1、$2 等是 Args 中的位置参数。

5.命令带有参数:

"postCommit": { "command": ["rake", "test"], "args": ["--verbose"] }

这个表单等同于将参数附加到 Command slice。

同时提供脚本和命令是无效的。如果没有指定任何字段,则不会执行 hook。

resources

ResourceRequirements

资源计算资源执行构建的要求。

revision

object

SourceRevision 是构建的修订或提交信息

runPolicy

string

runPolicy 描述了如何调度从此构建配置创建的新构建来执行。如果未指定,则默认为 "Serial"。

serviceAccount

string

ServiceAccount 是用于运行此构建创建的 pod 的 ServiceAccount 的名称。pod 允许使用 ServiceAccount 引用的 secret

source

object

BuildSource 是用于构建的 SCM。

策略

object

BuildStrategy 包含如何执行构建的详细信息。

successfulBuildsHistoryLimit

整数

successfulBuildsHistoryLimit 是要保留的旧成功构建的数量。创建 BuildConfig 时,将保留 5 个最新成功构建,除非设置了这个值。如果在 BuildConfig 创建后删除,则所有成功构建都会被保留。

触发器

数组

触发器决定如何从 BuildConfig 启动新构建。如果没有定义触发器,则只能在创建显式客户端构建后进行新构建。

triggers[]

object

BuildTriggerPolicy 描述了生成新构建的单个触发器的策略。

2.1.2. .spec.output

描述
BuildOutput 是构建策略的输入,并描述了策略应生成的容器镜像。
类型
object
属性类型描述

imageLabels

数组

imageLabels 定义应用到生成的镜像的标签列表。如果存在具有相同名称的多个标签,则使用列表中的最后一个标签。

imageLabels[]

object

ImageLabel 代表应用于生成的镜像的标签。

pushSecret

LocalObjectReference

pushSecret 是 Secret 的名称,用于设置执行 Docker push 的身份验证到启用 Docker Registry (或 Docker Hub)的身份验证。

ObjectReference

将此构建的输出推送到的可选位置。kind 必须是 'ImageStreamTag' 或 'DockerImage' 之一。这个值将用于查找要推送到的容器镜像存储库。对于 ImageStreamTag,除非指定了 Namespace,否则 ImageStreamTag 将会在构建的命名空间中查找。

2.1.3. .spec.output.imageLabels

描述
imageLabels 定义应用到生成的镜像的标签列表。如果存在具有相同名称的多个标签,则使用列表中的最后一个标签。
类型
数组

2.1.4. .spec.output.imageLabels[]

描述
ImageLabel 代表应用于生成的镜像的标签。
类型
object
必填
  • name
属性类型描述

name

string

name 定义标签的名称。它必须具有非零长度。

value

string

value 定义标签的字面值。

2.1.5. .spec.postCommit

描述

BuildPostCommitSpec 包含构建提交 hook 规格。hook 在运行构建输出镜像的临时容器中执行命令,紧接在提交镜像的最后一层后,并在镜像推送到 registry 之前。命令通过当前工作目录($PWD)设置为镜像的 WORKDIR 来执行。

如果 hook 执行失败,构建将标记为失败。如果脚本或命令返回非零退出代码,或者存在与启动临时容器相关的任何其他错误,它将失败。

配置 hook 有五种不同的方法。例如,以下所有形式同等,将执行 rake test --verbose

  1. Shell 脚本:

    "postCommit": {
      "script": "rake test --verbose",
    }
    The above is a convenient form which is equivalent to:
    "postCommit": {
      "command": ["/bin/sh", "-ic"],
      "args":    ["rake test --verbose"]
    }
  2. 作为镜像入口点的命令:

    "postCommit": {
      "commit": ["rake", "test", "--verbose"]
    }
    Command overrides the image entrypoint in the exec form, as documented in
    Docker: https://docs.docker.com/engine/reference/builder/#entrypoint.
  3. 将参数传递给默认入口点:

    "postCommit": {
     "args": ["rake", "test", "--verbose"]
    }
    This form is only useful if the image entrypoint can handle arguments.
  4. Shell 脚本带有参数:

    "postCommit": {
      "script": "rake test $1",
      "args":   ["--verbose"]
    }
    This form is useful if you need to pass arguments that would otherwise be
    hard to quote properly in the shell script. In the script, $0 will be
    "/bin/sh" and $1, $2, etc, are the positional arguments from Args.
  5. 命令带有参数:

    "postCommit": {
      "command": ["rake", "test"],
      "args":    ["--verbose"]
    }
    This form is equivalent to appending the arguments to the Command slice.

同时提供脚本和命令是无效的。如果没有指定任何字段,则不会执行 hook。

类型
object
属性类型描述

args

数组(字符串)

args 是提供给 Command、Script 或容器镜像的默认入口点的参数列表。参数将紧接在要运行的命令后面。

命令

数组(字符串)

命令是要运行的命令。它不能使用 Script 指定。如果镜像没有 /bin/sh,或者您不想使用 shell,则可能需要这样做。在所有其他情况下,使用 Script 可能更为方便。

script

string

脚本是使用 /bin/sh -ic 运行的 shell 脚本。无法通过 命令指定。当 shell 脚本适合执行构建后 hook 时,请使用 Script,例如使用 rake test 运行单元测试。如果您需要控制镜像入口点,或者镜像没有 /bin/sh,请使用 Command 和/或 Args。需要 -i 标志来支持使用 Software Collections (SCL)的 CentOS 和 RHEL 镜像,以便在 shell 中启用适当的集合。例如,在 Ruby 镜像中,这需要在 PATH 中提供 ruby捆绑包 和其他二进制文件。

2.1.6. .spec.revision

描述
SourceRevision 是构建的修订或提交信息
类型
object
必填
  • type
属性类型描述

git

object

GitSourceRevision 是构建的 git 源的提交信息

type

string

构建源的类型可以是 'Source', 'Dockerfile', 'Binary', 或 'Images' 之一

2.1.7. .spec.revision.git

描述
GitSourceRevision 是构建的 git 源的提交信息
类型
object
属性类型描述

作者

object

SourceControlUser 定义源控制用户的身份

commit

string

commit 是标识特定提交的提交哈希

committer

object

SourceControlUser 定义源控制用户的身份

message

string

message 是特定提交的描述

2.1.8. .spec.revision.git.author

描述
SourceControlUser 定义源控制用户的身份
类型
object
属性类型描述

email

string

源控制用户的电子邮件

名称

string

源控制用户的名称

2.1.9. .spec.revision.git.committer

描述
SourceControlUser 定义源控制用户的身份
类型
object
属性类型描述

email

string

源控制用户的电子邮件

名称

string

源控制用户的名称

2.1.10. .spec.source

描述
BuildSource 是用于构建的 SCM。
类型
object
属性类型描述

二进制

object

BinaryBuildSource 描述了用于 Docker 和 Source 构建策略的二进制文件,该文件将提取并用作构建源。

configMaps

数组

ConfigMaps 代表 configMaps 列表,其目的地将用于构建。

configMaps[]

object

ConfigMapBuildSource 描述了 configmap 及其目标目录,它们仅在构建时使用。此处引用的 configmap 的内容将复制到目标目录中,而不是挂载。

contextDir

string

contextDir 指定应用程序的源代码所在的子目录。这允许在存储库根目录以外的目录中具有构建源。

dockerfile

string

Dockerfile 是应构建的 Dockerfile 的原始内容。当指定此选项时,可以根据您的策略基础镜像修改 FROM,您的策略环境中的其他 ENV 小节将添加到 FROM 之后,但在 Dockerfile 小节的其余部分之前。在这些情况下,Dockerfile 源类型可以和 git - 等其他选项一起使用,Git 仓库将在上下文 dir 中替换任何 innate Dockerfile。

git

object

GitBuildSource 定义 Git SCM 的参数

images

数组

镜像描述一组用于为构建提供源的镜像

images[]

object

ImageSource 用于描述将从镜像中提取的构建源,或者在多阶段构建期间使用。可以使用类型 ImageStreamTag、ImageStreamImage 或 DockerImage 的引用。可以指定 pull secret 以从外部 registry 拉取镜像;如果从内部 registry 中拉取,则覆盖默认服务帐户 secret。镜像源可用于从镜像提取内容,并将其与存储库源一起放入构建上下文中,或者在多阶段容器镜像构建期间直接使用,以允许复制内容而不覆盖存储库源的内容(请参阅"路径"和"as"字段)。

secrets

数组

secrets 代表 secret 列表及其目的地,仅用于构建。

secrets[]

object

SecretBuildSource 描述了仅在构建时使用的 secret 及其目标目录。此处引用的 secret 的内容将复制到目标目录中,而不是挂载。

sourceSecret

LocalObjectReference

sourceSecret 是 Secret 的名称,用于设置用于克隆私有存储库的身份验证。secret 包含远程存储库的有效凭证,其中 data 的键代表要使用的身份验证方法,value 是 base64 编码的凭证。支持的验证方法有:ssh-privatekey.

type

string

要接受的构建输入类型

2.1.11. .spec.source.binary

描述
BinaryBuildSource 描述了用于 Docker 和 Source 构建策略的二进制文件,该文件将提取并用作构建源。
类型
object
属性类型描述

asFile

string

asFile 表示提供的二进制输入应被视为构建输入中的一个文件。例如,指定"webapp.war"会将提供的二进制文件放在构建器的 /webapp.war 中。如果留空,Docker 和 Source 构建策略假定此文件为 zip、tar 或 tar.gz 文件,并将其提取为源。Custom 策略将这个二进制文件作为标准输入接收。此文件名不能包含斜杠,也可以是 '..' 或 '.'。

2.1.12. .spec.source.configMaps

描述
ConfigMaps 代表 configMaps 列表,其目的地将用于构建。
类型
数组

2.1.13. .spec.source.configMaps[]

描述
ConfigMapBuildSource 描述了 configmap 及其目标目录,它们仅在构建时使用。此处引用的 configmap 的内容将复制到目标目录中,而不是挂载。
类型
object
必填
  • configMap
属性类型描述

configMap

LocalObjectReference

ConfigMap 是您要在构建中使用的现有 configmap 的引用。

destinationDir

string

destinationDir 是 ConfigMap 中文件应该可用于构建时间的目录。对于 Source 构建策略,它们将注入到运行 assemble 脚本的容器中。对于容器镜像构建策略,它们将复制到构建目录中,其中 Dockerfile 所在的位置,以便在容器镜像构建过程中 ADD 或 COPY。

2.1.14. .spec.source.git

描述
GitBuildSource 定义 Git SCM 的参数
类型
object
必填
  • uri
属性类型描述

httpProxy

string

httpProxy 是一个代理,用于通过 http 访问 git 存储库

httpsProxy

string

httpsProxy 是一个代理,用于通过 https 访问 git 存储库

noProxy

string

noProxy 是不应使用代理的域列表

ref

string

ref 是要构建的分支/标签/ref。

uri

string

URI 指向将要构建的源。源的结构取决于要运行的构建类型

2.1.15. .spec.source.images

描述
镜像描述一组用于为构建提供源的镜像
类型
数组

2.1.16. .spec.source.images[]

描述
ImageSource 用于描述将从镜像中提取的构建源,或者在多阶段构建期间使用。可以使用类型 ImageStreamTag、ImageStreamImage 或 DockerImage 的引用。可以指定 pull secret 以从外部 registry 拉取镜像;如果从内部 registry 中拉取,则覆盖默认服务帐户 secret。镜像源可用于从镜像提取内容,并将其与存储库源一起放入构建上下文中,或者在多阶段容器镜像构建期间直接使用,以允许复制内容而不覆盖存储库源的内容(请参阅"路径"和"as"字段)。
类型
object
必填
  • from
属性类型描述

as

数组(字符串)

此源在多阶段容器镜像构建期间将使用的镜像名称列表。例如,使用 "COPY --from=nginx:latest" 的 Dockerfile 将首先检查此字段中具有"nginx:latest"的镜像源,然后再尝试直接拉取。如果 Dockerfile 不引用镜像源,它将被忽略。此字段和路径均可设置,在这种情况下,内容将使用两次。

from

ObjectReference

from 是从 中复制源的 ImageStreamTag、ImageStreamImage 或 DockerImage 的引用。

路径

数组

paths 是从镜像复制的源和目标路径列表。在开始构建前,此内容将复制到构建上下文中。如果没有设置路径,则不会更改构建上下文。

paths[]

object

ImageSourcePath 描述了要在构建目录中从源镜像复制的路径及其目的地。

pullSecret

LocalObjectReference

pullSecret 是用于从 OpenShift registry 中拉取镜像的 secret 的引用,则不需要设置此字段。

2.1.17. .spec.source.images[].paths

描述
paths 是从镜像复制的源和目标路径列表。在开始构建前,此内容将复制到构建上下文中。如果没有设置路径,则不会更改构建上下文。
类型
数组

2.1.18. .spec.source.images[].paths[]

描述
ImageSourcePath 描述了要在构建目录中从源镜像复制的路径及其目的地。
类型
object
必填
  • sourcePath
  • destinationDir
属性类型描述

destinationDir

string

destinationDir 是构建目录中的相对目录,其中放置从镜像复制的文件。

sourcePath

string

sourcePath 是镜像中要复制到构建目录的文件或目录的绝对路径。如果源路径以 /. 结尾,则复制目录的内容,但不会在目的地上创建目录本身。

2.1.19. .spec.source.secrets

描述
secrets 代表 secret 列表及其目的地,仅用于构建。
类型
数组

2.1.20. .spec.source.secrets[]

描述
SecretBuildSource 描述了仅在构建时使用的 secret 及其目标目录。此处引用的 secret 的内容将复制到目标目录中,而不是挂载。
类型
object
必填
  • secret
属性类型描述

destinationDir

string

destinationDir 是构建时间可以使用 secret 中的文件的目录。对于 Source 构建策略,它们将注入到运行 assemble 脚本的容器中。之后,脚本完成后,注入的所有文件都会被截断为零长度。对于容器镜像构建策略,它们将复制到构建目录中,其中 Dockerfile 所在的位置,以便在容器镜像构建过程中 ADD 或 COPY。

secret

LocalObjectReference

Secret 是对要在构建中使用的现有 secret 的引用。

2.1.21. .spec.strategy

描述
BuildStrategy 包含如何执行构建的详细信息。
类型
object
属性类型描述

customStrategy

object

CustomBuildStrategy 定义特定于 Custom build 的输入参数。

dockerStrategy

object

DockerBuildStrategy 定义特定于容器镜像构建的输入参数。

jenkinsPipelineStrategy

object

JenkinsPipelineBuildStrategy 包含特定于 Jenkins Pipeline 构建的参数。已弃用:使用 OpenShift Pipelines

sourceStrategy

object

SourceBuildStrategy 定义特定于 Source 构建的输入参数。

type

string

type 是构建策略的类型。

2.1.22. .spec.strategy.customStrategy

描述
CustomBuildStrategy 定义特定于 Custom build 的输入参数。
类型
object
必填
  • from
属性类型描述

buildAPIVersion

string

buildAPIVersion 是 Build 对象序列化的请求的 API 版本,并传递给自定义构建器

env

数组(EnvVar)

env 包含您要传递给构建器容器的额外环境变量。

exposeDockerSocket

布尔值

exposeDockerSocket 将允许从容器内运行 Docker 命令(和构建容器镜像)。

forcePull

布尔值

forcePull 描述控制器应该将构建 pod 配置为始终拉取构建器的镜像,或者仅在本地没有时拉取(pull)。

from

ObjectReference

from 是指应当从中拉取容器镜像的 DockerImage、ImageStreamStream 或 ImageStreamImage 的引用

pullSecret

LocalObjectReference

pullSecret 是 Secret 的名称,用于设置从私有 Docker registry 中拉取容器镜像的身份验证

secrets

数组

secret 是构建 pod 中包含的额外 secret 的列表

secrets[]

object

SecretSpec 指定要包含在构建 pod 中的 secret 及其对应的挂载点

2.1.23. .spec.strategy.customStrategy.secrets

描述
secret 是构建 pod 中包含的额外 secret 的列表
类型
数组

2.1.24. .spec.strategy.customStrategy.secrets[]

描述
SecretSpec 指定要包含在构建 pod 中的 secret 及其对应的挂载点
类型
object
必填
  • secretSource
  • mountPath
属性类型描述

mountPath

string

mountPath 是挂载 secret 的路径

secretSource

LocalObjectReference

secretSource 是对 secret 的引用

2.1.25. .spec.strategy.dockerStrategy

描述
DockerBuildStrategy 定义特定于容器镜像构建的输入参数。
类型
object
属性类型描述

buildArgs

数组(EnvVar)

buildArgs 包含要在 Dockerfile 中解析的构建参数。详情请查看 https://docs.docker.com/engine/reference/builder/#/arg。注意:只支持 'name' 和 'value' 字段。'valueFrom' 字段中的任何设置都会被忽略。

dockerfilePath

string

dockerfilePath 是 Dockerfile 的路径,它将用于构建容器镜像,相对于上下文的根目录(contextDir)。如果未设置,则默认为 Dockerfile

env

数组(EnvVar)

env 包含您要传递给构建器容器的额外环境变量。

forcePull

布尔值

forcePull 描述构建前,构建器是否应该从 registry 中拉取镜像。

from

ObjectReference

from 是 DockerImage、ImageStreamTags 或 ImageStreamImage 的引用,可覆盖构建的 Dockerfile 中的 FROM 镜像。如果 Dockerfile 使用多阶段构建,这将替换文件的最后一个 FROM 指令中的镜像。

imageOptimizationPolicy

string

imageOptimizationPolicy 描述了系统在构建镜像时可以使用哪些优化,以减少构建镜像的最终大小或时间。默认策略为 'None',这意味着最终构建镜像将等同于由容器镜像构建 API 创建的镜像。实验性策略 'SkipLayers' 将避免在每个镜像步骤之间提交新层,如果 Dockerfile 无法与"None"策略提供兼容性,将失败。一个额外的实验性策略 'SkipLayersAndWarn' 与 'SkipLayers' 相同,只是在无法保留兼容性时警告。

noCache

布尔值

如果设为 true,noCache 表示必须使用 --no-cache=true 标志执行容器镜像构建

pullSecret

LocalObjectReference

pullSecret 是 Secret 的名称,用于设置从私有 Docker registry 中拉取容器镜像的身份验证

数组

卷是可以挂载到构建运行时环境的输入卷列表。构建只支持 Kubernetes 卷源的子集。更多信息: https://kubernetes.io/docs/concepts/storage/volumes

volumes[]

object

BuildVolume 描述了为构建 pod 提供的卷,以便将其挂载到 buildah 的运行时环境中。仅支持 Kubernetes 卷源的子集。

2.1.26. .spec.strategy.dockerStrategy.volumes

描述
卷是可以挂载到构建运行时环境的输入卷列表。构建只支持 Kubernetes 卷源的子集。更多信息: https://kubernetes.io/docs/concepts/storage/volumes
类型
数组

2.1.27. .spec.strategy.dockerStrategy.volumes[]

描述
BuildVolume 描述了为构建 pod 提供的卷,以便将其挂载到 buildah 的运行时环境中。仅支持 Kubernetes 卷源的子集。
类型
object
必填
  • name
  • source
  • mounts
属性类型描述

mounts

数组

mounts 代表镜像构建容器中的卷位置

mounts[]

object

BuildVolumeMount 描述了在 buildah 的运行时环境中挂载卷。

名称

string

name 是此 BuildVolume 的唯一标识符。它必须符合 Kubernetes DNS 标签标准,并在 pod 中唯一。与构建控制器添加的名称将会导致构建失败,并显示错误消息,详细描述了导致错误的名称。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names

source

object

BuildVolumeSource 代表卷的来源,在任何给定时间只能指定其支持的类型之一。

2.1.28. .spec.strategy.dockerStrategy.volumes[].mounts

描述
mounts 代表镜像构建容器中的卷位置
类型
数组

2.1.29. .spec.strategy.dockerStrategy.volumes[].mounts[]

描述
BuildVolumeMount 描述了在 buildah 的运行时环境中挂载卷。
类型
object
必填
  • destinationPath
属性类型描述

destinationPath

string

destinationPath 是 buildah 运行时环境中的路径,其应挂载该卷。构建镜像中的临时挂载和后备卷都将被挂载为只读。必须是绝对路径,不得包含 '..' 或 ':',且不得与构建器进程路径生成的目的地路径冲突,使构建控制器添加的构建将产生一个失败的构建,并详细描述了哪个路径导致错误导致错误。

2.1.30. .spec.strategy.dockerStrategy.volumes[].source

描述
BuildVolumeSource 代表卷的来源,在任何给定时间只能指定其支持的类型之一。
类型
object
必填
  • type
属性类型描述

configMap

ConfigMapVolumeSource

ConfigMap 代表应填充此卷的 ConfigMap

csi

CSIVolumeSource

CSI 代表外部 CSI 驱动程序提供的临时存储,支持此功能

secret

SecretVolumeSource

Secret 代表应填充此卷的 Secret。更多信息: https://kubernetes.io/docs/concepts/storage/volumes#secret

type

string

type 是卷源的 BuildVolumeSourceType。type 必须与填充的卷源匹配。有效类型有: Secret、ConfigMap

2.1.31. .spec.strategy.jenkinsPipelineStrategy

描述
JenkinsPipelineBuildStrategy 包含特定于 Jenkins Pipeline 构建的参数。已弃用:使用 OpenShift Pipelines
类型
object
属性类型描述

env

数组(EnvVar)

env 包含您要传递给构建管道的额外环境变量。

jenkinsfile

string

Jenkinsfile 定义 Jenkinsfile 的可选原始内容,用于定义 Jenkins 管道构建。

jenkinsfilePath

string

jenkinsfilePath 是 Jenkinsfile 的可选路径,它将用于配置相对于上下文的根目录(contextDir)的管道。如果同时没有指定 JenkinsfilePath 和 Jenkinsfile,则默认为指定 contextDir 中的 Jenkinsfile。

2.1.32. .spec.strategy.sourceStrategy

描述
SourceBuildStrategy 定义特定于 Source 构建的输入参数。
类型
object
必填
  • from
属性类型描述

env

数组(EnvVar)

env 包含您要传递给构建器容器的额外环境变量。

forcePull

布尔值

forcePull 描述构建前,构建器是否应该从 registry 中拉取镜像。

from

ObjectReference

from 是指应当从中拉取容器镜像的 DockerImage、ImageStreamStream 或 ImageStreamImage 的引用

incremental

布尔值

如果为 true,则增量标志会强制 Source 构建执行增量构建。

pullSecret

LocalObjectReference

pullSecret 是 Secret 的名称,用于设置从私有 Docker registry 中拉取容器镜像的身份验证

脚本

string

脚本是源脚本的位置

数组

卷是可以挂载到构建运行时环境的输入卷列表。构建只支持 Kubernetes 卷源的子集。更多信息: https://kubernetes.io/docs/concepts/storage/volumes

volumes[]

object

BuildVolume 描述了为构建 pod 提供的卷,以便将其挂载到 buildah 的运行时环境中。仅支持 Kubernetes 卷源的子集。

2.1.33. .spec.strategy.sourceStrategy.volumes

描述
卷是可以挂载到构建运行时环境的输入卷列表。构建只支持 Kubernetes 卷源的子集。更多信息: https://kubernetes.io/docs/concepts/storage/volumes
类型
数组

2.1.34. .spec.strategy.sourceStrategy.volumes[]

描述
BuildVolume 描述了为构建 pod 提供的卷,以便将其挂载到 buildah 的运行时环境中。仅支持 Kubernetes 卷源的子集。
类型
object
必填
  • name
  • source
  • mounts
属性类型描述

mounts

数组

mounts 代表镜像构建容器中的卷位置

mounts[]

object

BuildVolumeMount 描述了在 buildah 的运行时环境中挂载卷。

名称

string

name 是此 BuildVolume 的唯一标识符。它必须符合 Kubernetes DNS 标签标准,并在 pod 中唯一。与构建控制器添加的名称将会导致构建失败,并显示错误消息,详细描述了导致错误的名称。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names

source

object

BuildVolumeSource 代表卷的来源,在任何给定时间只能指定其支持的类型之一。

2.1.35. .spec.strategy.sourceStrategy.volumes[].mounts

描述
mounts 代表镜像构建容器中的卷位置
类型
数组

2.1.36. .spec.strategy.sourceStrategy.volumes[].mounts[]

描述
BuildVolumeMount 描述了在 buildah 的运行时环境中挂载卷。
类型
object
必填
  • destinationPath
属性类型描述

destinationPath

string

destinationPath 是 buildah 运行时环境中的路径,其应挂载该卷。构建镜像中的临时挂载和后备卷都将被挂载为只读。必须是绝对路径,不得包含 '..' 或 ':',且不得与构建器进程路径生成的目的地路径冲突,使构建控制器添加的构建将产生一个失败的构建,并详细描述了哪个路径导致错误导致错误。

2.1.37. .spec.strategy.sourceStrategy.volumes[].source

描述
BuildVolumeSource 代表卷的来源,在任何给定时间只能指定其支持的类型之一。
类型
object
必填
  • type
属性类型描述

configMap

ConfigMapVolumeSource

ConfigMap 代表应填充此卷的 ConfigMap

csi

CSIVolumeSource

CSI 代表外部 CSI 驱动程序提供的临时存储,支持此功能

secret

SecretVolumeSource

Secret 代表应填充此卷的 Secret。更多信息: https://kubernetes.io/docs/concepts/storage/volumes#secret

type

string

type 是卷源的 BuildVolumeSourceType。type 必须与填充的卷源匹配。有效类型有: Secret、ConfigMap

2.1.38. .spec.triggers

描述
触发器决定如何从 BuildConfig 启动新构建。如果没有定义触发器,则只能在创建显式客户端构建后进行新构建。
类型
数组

2.1.39. .spec.triggers[]

描述
BuildTriggerPolicy 描述了生成新构建的单个触发器的策略。
类型
object
必填
  • type
属性类型描述

bitbucket

object

WebHookTrigger 是一个触发器,它使用 webhook 类型 post 调用

generic

object

WebHookTrigger 是一个触发器,它使用 webhook 类型 post 调用

github

object

WebHookTrigger 是一个触发器,它使用 webhook 类型 post 调用

gitlab

object

WebHookTrigger 是一个触发器,它使用 webhook 类型 post 调用

imageChange

object

ImageChangeTrigger 允许在 ImageStream 更改时触发构建

type

string

type 是构建触发器的类型。有效值:

- GitHub GitHubWebHookBuildTriggerType 代表一个触发器,它在 GitHub Webhook 调用上启动构建

- generic GenericWebHookBuildTriggerType 代表在通用 Webhook 调用上启动构建的触发器

- GitLab GitLabWebHookBuildTriggerType 代表在 GitLab Webhook 调用上启动构建的触发器

- Bitbucket BitbucketWebHookBuildTriggerType 代表在 Bitbucket Webhook 调用上启动构建的触发器

- ImageChange ImageChangeBuildTriggerType 代表一个触发器,它根据镜像的新版本的可用性启动构建

- ConfigChange ConfigChangeBuildTriggerType 将在初始构建配置创建 WARNING 上触发构建:未来行为将更改为触发任何配置更改上的构建

2.1.40. .spec.triggers[].bitbucket

描述
WebHookTrigger 是一个触发器,它使用 webhook 类型 post 调用
类型
object
属性类型描述

allowEnv

布尔值

allowEnv 决定 webhook 是否可以设置环境变量;对于 GenericWebHook,只能设置为 true。

secret

string

用于验证请求的 secret。deprecated: 使用 SecretReference 替代。

secretReference

object

SecretLocalReference 包含指向所使用的本地 secret 的信息

2.1.41. .spec.triggers[].bitbucket.secretReference

描述
SecretLocalReference 包含指向所使用的本地 secret 的信息
类型
object
必填
  • name
属性类型描述

name

string

name 是被引用同一命名空间中的资源的名称

2.1.42. .spec.triggers[].generic

描述
WebHookTrigger 是一个触发器,它使用 webhook 类型 post 调用
类型
object
属性类型描述

allowEnv

布尔值

allowEnv 决定 webhook 是否可以设置环境变量;对于 GenericWebHook,只能设置为 true。

secret

string

用于验证请求的 secret。deprecated: 使用 SecretReference 替代。

secretReference

object

SecretLocalReference 包含指向所使用的本地 secret 的信息

2.1.43. .spec.triggers[].generic.secretReference

描述
SecretLocalReference 包含指向所使用的本地 secret 的信息
类型
object
必填
  • name
属性类型描述

name

string

name 是被引用同一命名空间中的资源的名称

2.1.44. .spec.triggers[].github

描述
WebHookTrigger 是一个触发器,它使用 webhook 类型 post 调用
类型
object
属性类型描述

allowEnv

布尔值

allowEnv 决定 webhook 是否可以设置环境变量;对于 GenericWebHook,只能设置为 true。

secret

string

用于验证请求的 secret。deprecated: 使用 SecretReference 替代。

secretReference

object

SecretLocalReference 包含指向所使用的本地 secret 的信息

2.1.45. .spec.triggers[].github.secretReference

描述
SecretLocalReference 包含指向所使用的本地 secret 的信息
类型
object
必填
  • name
属性类型描述

name

string

name 是被引用同一命名空间中的资源的名称

2.1.46. .spec.triggers[].gitlab

描述
WebHookTrigger 是一个触发器,它使用 webhook 类型 post 调用
类型
object
属性类型描述

allowEnv

布尔值

allowEnv 决定 webhook 是否可以设置环境变量;对于 GenericWebHook,只能设置为 true。

secret

string

用于验证请求的 secret。deprecated: 使用 SecretReference 替代。

secretReference

object

SecretLocalReference 包含指向所使用的本地 secret 的信息

2.1.47. .spec.triggers[].gitlab.secretReference

描述
SecretLocalReference 包含指向所使用的本地 secret 的信息
类型
object
必填
  • name
属性类型描述

name

string

name 是被引用同一命名空间中的资源的名称

2.1.48. .spec.triggers[].imageChange

描述
ImageChangeTrigger 允许在 ImageStream 更改时触发构建
类型
object
属性类型描述

from

ObjectReference

from 是对 ImageStreamTag 的引用,该引用将在更新时触发构建是可选的。如果没有指定 From,则使用构建策略中的 From 镜像。构建配置中只允许一个带有空的 From 引用的一个 ImageChangeTrigger。

lastTriggeredImageID

string

lastTriggeredImageID 由 ImageChangeController 在内部使用,以保存构建此字段的最后使用的镜像 ID 已被弃用,并将在以后的发行版本中删除。已弃用

paused

布尔值

如果此触发器被临时禁用,则暂停为 true。可选。

2.1.49. .status

描述
BuildConfigStatus 包含构建配置对象的当前状态。
类型
object
必填
  • lastVersion
属性类型描述

imageChangeTriggers

数组

ImageChangeTriggers 捕获 BuildConfigSpec 中指定的任何 ImageChangeTrigger 的运行时状态,包括 OpenShift APIServer 为 lastTriggeredImageID 协调的值。这个数组中有一个条目用于 spec 中的每个镜像更改触发器。每个触发器状态引用作为触发器源的 ImageStreamTag。

imageChangeTriggers[]

object

ImageChangeTriggerStatus 跟踪 BuildConfigSpec.Triggers struct 中指定的关联 ImageChangeTrigger 策略的最新解析状态。

lastVersion

整数

lastVersion 用于告知最后触发的构建数量。

2.1.50. .status.imageChangeTriggers

描述
ImageChangeTriggers 捕获 BuildConfigSpec 中指定的任何 ImageChangeTrigger 的运行时状态,包括 OpenShift APIServer 为 lastTriggeredImageID 协调的值。这个数组中有一个条目用于 spec 中的每个镜像更改触发器。每个触发器状态引用作为触发器源的 ImageStreamTag。
类型
数组

2.1.51. .status.imageChangeTriggers[]

描述
ImageChangeTriggerStatus 跟踪 BuildConfigSpec.Triggers struct 中指定的关联 ImageChangeTrigger 策略的最新解析状态。
类型
object
属性类型描述

from

object

ImageStreamTagReference 根据命名空间和名称引用镜像更改触发器中的 ImageStreamTag。

lastTriggerTime

时间

lastTriggerTime 是这个特定 ImageStreamTag 最后一次触发构建来启动的时间。只有在此触发器特别启动 Build 时,此字段才会更新。

lastTriggeredImageID

string

当为此 BuildConfig 的构建启动时,lastTriggeredImageID 代表 ImageStreamTag 的 sha/id。每次启动此 BuildConfig 的构建时都会更新 lastTriggeredImageID,即使此 ImageStreamTag 不是启动构建的原因。

2.1.52. .status.imageChangeTriggers[].from

描述
ImageStreamTagReference 根据命名空间和名称引用镜像更改触发器中的 ImageStreamTag。
类型
object
属性类型描述

name

string

name 是 ImageChangeTrigger 的 ImageStreamTag 的名称

namespace

string

namespace 是 ImageChangeTrigger 的 ImageStreamTag 所在的命名空间

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.