第 3 章 Build [build.openshift.io/v1]
- 描述
构建封装了生成新可部署镜像所需的输入,以及执行的状态以及执行构建的 Pod 的引用。
兼容性级别 1:在主发行版本中至少提供 12 个月或 3 个次版本(以更长的时间为准)。
- 类型
-
对象
3.1. 规格
属性 | 类型 | 描述 |
---|---|---|
|
| APIVersion 定义对象的这个表示法的版本化的 schema。服务器应该将识别的模式转换为最新的内部值,并可拒绝未识别的值。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources |
|
| kind 是一个字符串值,代表此对象所代表的 REST 资源。服务器可以从客户端向其提交请求的端点推断。无法更新。采用驼峰拼写法 (CamelCase)。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds |
| metadata 是标准对象的元数据。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata | |
|
| BuildSpec 具有代表构建的信息,以及构建的附加信息 |
|
| BuildStatus 包含构建的状态 |
3.1.1. .spec
- 描述
- BuildSpec 具有代表构建的信息,以及构建的附加信息
- 类型
-
object
- 必填
-
策略
-
属性 | 类型 | 描述 |
---|---|---|
|
| completionDeadlineSeconds 是一个可选持续时间(以秒为单位),从系统中调度构建 pod 的时间,在系统主动尝试终止构建前,构建可能在节点上处于活跃状态;值必须是正整数。 |
|
| mountTrustedCA 绑定会将集群的可信证书颁发机构(如集群的代理配置中定义的)挂载到构建中。这允许自定义 PKI 证书颁发机构(如私有工件存储库和 HTTPS 代理)签名的构建信任组件内处理。
当此字段设置为 true 时,构建中的 |
|
| nodeSelector 是一个选择器,对于构建 pod 适合某个节点,则必须为 true。如果为 nil,它可以被集群的默认构建 nodeselector 值覆盖。如果设置为空映射或带有任何值的映射,则忽略默认的构建 nodeselector 值。 |
|
| BuildOutput 是构建策略的输入,并描述了策略应生成的容器镜像。 |
|
| BuildPostCommitSpec 包含构建提交 hook 规格。hook 在运行构建输出镜像的临时容器中执行命令,紧接在提交镜像的最后一层后,并在镜像推送到 registry 之前。命令通过当前工作目录($PWD)设置为镜像的 WORKDIR 来执行。 如果 hook 执行失败,构建将标记为失败。如果脚本或命令返回非零退出代码,或者存在与启动临时容器相关的任何其他错误,它将失败。
配置 hook 有五种不同的方法。例如,以下所有形式同等,将执行 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。 |
| 资源计算资源执行构建的要求。 | |
|
| SourceRevision 是构建的修订或提交信息 |
|
| ServiceAccount 是用于运行此构建创建的 pod 的 ServiceAccount 的名称。pod 允许使用 ServiceAccount 引用的 secret |
|
| BuildSource 是用于构建的 SCM。 |
|
| BuildStrategy 包含如何执行构建的详细信息。 |
|
| triggeredBy 描述了哪些触发器启动对构建配置的最新更新,并包含有关这些触发器的信息。 |
|
| BuildTriggerCause 包含有关触发的构建的信息。它用于显示 oc describe 中每个构建的构建触发器数据。它还用于描述导致构建配置中最近更新哪些触发器。 |
3.1.2. .spec.output
- 描述
- BuildOutput 是构建策略的输入,并描述了策略应生成的容器镜像。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| imageLabels 定义应用到生成的镜像的标签列表。如果存在具有相同名称的多个标签,则使用列表中的最后一个标签。 |
|
| ImageLabel 代表应用于生成的镜像的标签。 |
| pushSecret 是 Secret 的名称,用于设置执行 Docker push 的身份验证到启用 Docker Registry (或 Docker Hub)的身份验证。 | |
| 将此构建的输出推送到的可选位置。kind 必须是 'ImageStreamTag' 或 'DockerImage' 之一。这个值将用于查找要推送到的容器镜像存储库。对于 ImageStreamTag,除非指定了 Namespace,否则 ImageStreamTag 将会在构建的命名空间中查找。 |
3.1.3. .spec.output.imageLabels
- 描述
- imageLabels 定义应用到生成的镜像的标签列表。如果存在具有相同名称的多个标签,则使用列表中的最后一个标签。
- 类型
-
数组
3.1.4. .spec.output.imageLabels[]
- 描述
- ImageLabel 代表应用于生成的镜像的标签。
- 类型
-
object
- 必填
-
name
-
属性 | 类型 | 描述 |
---|---|---|
|
| name 定义标签的名称。它必须具有非零长度。 |
|
| value 定义标签的字面值。 |
3.1.5. .spec.postCommit
- 描述
BuildPostCommitSpec 包含构建提交 hook 规格。hook 在运行构建输出镜像的临时容器中执行命令,紧接在提交镜像的最后一层后,并在镜像推送到 registry 之前。命令通过当前工作目录($PWD)设置为镜像的 WORKDIR 来执行。
如果 hook 执行失败,构建将标记为失败。如果脚本或命令返回非零退出代码,或者存在与启动临时容器相关的任何其他错误,它将失败。
配置 hook 有五种不同的方法。例如,以下所有形式同等,将执行
rake test --verbose
。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"] }
作为镜像入口点的命令:
"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.
将参数传递给默认入口点:
"postCommit": { "args": ["rake", "test", "--verbose"] }
This form is only useful if the image entrypoint can handle arguments.
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.
命令带有参数:
"postCommit": { "command": ["rake", "test"], "args": ["--verbose"] }
This form is equivalent to appending the arguments to the Command slice.
同时提供脚本和命令是无效的。如果没有指定任何字段,则不会执行 hook。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| args 是提供给 Command、Script 或容器镜像的默认入口点的参数列表。参数将紧接在要运行的命令后面。 |
|
|
命令是要运行的命令。它不能使用 Script 指定。如果镜像没有 |
|
|
脚本是使用 |
3.1.6. .spec.revision
- 描述
- SourceRevision 是构建的修订或提交信息
- 类型
-
object
- 必填
-
type
-
属性 | 类型 | 描述 |
---|---|---|
|
| GitSourceRevision 是构建的 git 源的提交信息 |
|
| 构建源的类型可以是 'Source', 'Dockerfile', 'Binary', 或 'Images' 之一 |
3.1.7. .spec.revision.git
- 描述
- GitSourceRevision 是构建的 git 源的提交信息
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| SourceControlUser 定义源控制用户的身份 |
|
| commit 是标识特定提交的提交哈希 |
|
| SourceControlUser 定义源控制用户的身份 |
|
| message 是特定提交的描述 |
3.1.8. .spec.revision.git.author
- 描述
- SourceControlUser 定义源控制用户的身份
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| 源控制用户的电子邮件 |
|
| 源控制用户的名称 |
3.1.9. .spec.revision.git.committer
- 描述
- SourceControlUser 定义源控制用户的身份
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| 源控制用户的电子邮件 |
|
| 源控制用户的名称 |
3.1.10. .spec.source
- 描述
- BuildSource 是用于构建的 SCM。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| BinaryBuildSource 描述了用于 Docker 和 Source 构建策略的二进制文件,该文件将提取并用作构建源。 |
|
| ConfigMaps 代表 configMaps 列表,其目的地将用于构建。 |
|
| ConfigMapBuildSource 描述了 configmap 及其目标目录,它们仅在构建时使用。此处引用的 configmap 的内容将复制到目标目录中,而不是挂载。 |
|
| contextDir 指定应用程序的源代码所在的子目录。这允许在存储库根目录以外的目录中具有构建源。 |
|
| Dockerfile 是应构建的 Dockerfile 的原始内容。当指定此选项时,可以根据您的策略基础镜像修改 FROM,您的策略环境中的其他 ENV 小节将添加到 FROM 之后,但在 Dockerfile 小节的其余部分之前。在这些情况下,Dockerfile 源类型可以和 git - 等其他选项一起使用,Git 仓库将在上下文 dir 中替换任何 innate Dockerfile。 |
|
| GitBuildSource 定义 Git SCM 的参数 |
|
| 镜像描述一组用于为构建提供源的镜像 |
|
| ImageSource 用于描述将从镜像中提取的构建源,或者在多阶段构建期间使用。可以使用类型 ImageStreamTag、ImageStreamImage 或 DockerImage 的引用。可以指定 pull secret 以从外部 registry 拉取镜像;如果从内部 registry 中拉取,则覆盖默认服务帐户 secret。镜像源可用于从镜像提取内容,并将其与存储库源一起放入构建上下文中,或者在多阶段容器镜像构建期间直接使用,以允许复制内容而不覆盖存储库源的内容(请参阅"路径"和"as"字段)。 |
|
| secrets 代表 secret 列表及其目的地,仅用于构建。 |
|
| SecretBuildSource 描述了仅在构建时使用的 secret 及其目标目录。此处引用的 secret 的内容将复制到目标目录中,而不是挂载。 |
| sourceSecret 是 Secret 的名称,用于设置用于克隆私有存储库的身份验证。secret 包含远程存储库的有效凭证,其中 data 的键代表要使用的身份验证方法,value 是 base64 编码的凭证。支持的验证方法有:ssh-privatekey. | |
|
| 要接受的构建输入类型 |
3.1.11. .spec.source.binary
- 描述
- BinaryBuildSource 描述了用于 Docker 和 Source 构建策略的二进制文件,该文件将提取并用作构建源。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
|
asFile 表示提供的二进制输入应被视为构建输入中的一个文件。例如,指定"webapp.war"会将提供的二进制文件放在构建器的 |
3.1.12. .spec.source.configMaps
- 描述
- ConfigMaps 代表 configMaps 列表,其目的地将用于构建。
- 类型
-
数组
3.1.13. .spec.source.configMaps[]
- 描述
- ConfigMapBuildSource 描述了 configmap 及其目标目录,它们仅在构建时使用。此处引用的 configmap 的内容将复制到目标目录中,而不是挂载。
- 类型
-
object
- 必填
-
configMap
-
属性 | 类型 | 描述 |
---|---|---|
| ConfigMap 是您要在构建中使用的现有 configmap 的引用。 | |
|
| destinationDir 是 ConfigMap 中文件应该可用于构建时间的目录。对于 Source 构建策略,它们将注入到运行 assemble 脚本的容器中。对于容器镜像构建策略,它们将复制到构建目录中,其中 Dockerfile 所在的位置,以便在容器镜像构建过程中 ADD 或 COPY。 |
3.1.14. .spec.source.git
- 描述
- GitBuildSource 定义 Git SCM 的参数
- 类型
-
object
- 必填
-
uri
-
属性 | 类型 | 描述 |
---|---|---|
|
| httpProxy 是一个代理,用于通过 http 访问 git 存储库 |
|
| httpsProxy 是一个代理,用于通过 https 访问 git 存储库 |
|
| noProxy 是不应使用代理的域列表 |
|
| ref 是要构建的分支/标签/ref。 |
|
| URI 指向将要构建的源。源的结构取决于要运行的构建类型 |
3.1.15. .spec.source.images
- 描述
- 镜像描述一组用于为构建提供源的镜像
- 类型
-
数组
3.1.16. .spec.source.images[]
- 描述
- ImageSource 用于描述将从镜像中提取的构建源,或者在多阶段构建期间使用。可以使用类型 ImageStreamTag、ImageStreamImage 或 DockerImage 的引用。可以指定 pull secret 以从外部 registry 拉取镜像;如果从内部 registry 中拉取,则覆盖默认服务帐户 secret。镜像源可用于从镜像提取内容,并将其与存储库源一起放入构建上下文中,或者在多阶段容器镜像构建期间直接使用,以允许复制内容而不覆盖存储库源的内容(请参阅"路径"和"as"字段)。
- 类型
-
object
- 必填
-
from
-
属性 | 类型 | 描述 |
---|---|---|
|
| 此源在多阶段容器镜像构建期间将使用的镜像名称列表。例如,使用 "COPY --from=nginx:latest" 的 Dockerfile 将首先检查此字段中具有"nginx:latest"的镜像源,然后再尝试直接拉取。如果 Dockerfile 不引用镜像源,它将被忽略。此字段和路径均可设置,在这种情况下,内容将使用两次。 |
| from 是从 中复制源的 ImageStreamTag、ImageStreamImage 或 DockerImage 的引用。 | |
|
| paths 是从镜像复制的源和目标路径列表。在开始构建前,此内容将复制到构建上下文中。如果没有设置路径,则不会更改构建上下文。 |
|
| ImageSourcePath 描述了要在构建目录中从源镜像复制的路径及其目的地。 |
| pullSecret 是用于从 OpenShift registry 中拉取镜像的 secret 的引用,则不需要设置此字段。 |
3.1.17. .spec.source.images[].paths
- 描述
- paths 是从镜像复制的源和目标路径列表。在开始构建前,此内容将复制到构建上下文中。如果没有设置路径,则不会更改构建上下文。
- 类型
-
数组
3.1.18. .spec.source.images[].paths[]
- 描述
- ImageSourcePath 描述了要在构建目录中从源镜像复制的路径及其目的地。
- 类型
-
object
- 必填
-
sourcePath
-
destinationDir
-
属性 | 类型 | 描述 |
---|---|---|
|
| destinationDir 是构建目录中的相对目录,其中放置从镜像复制的文件。 |
|
| sourcePath 是镜像中要复制到构建目录的文件或目录的绝对路径。如果源路径以 /. 结尾,则复制目录的内容,但不会在目的地上创建目录本身。 |
3.1.19. .spec.source.secrets
- 描述
- secrets 代表 secret 列表及其目的地,仅用于构建。
- 类型
-
数组
3.1.20. .spec.source.secrets[]
- 描述
- SecretBuildSource 描述了仅在构建时使用的 secret 及其目标目录。此处引用的 secret 的内容将复制到目标目录中,而不是挂载。
- 类型
-
object
- 必填
-
secret
-
属性 | 类型 | 描述 |
---|---|---|
|
| destinationDir 是构建时间可以使用 secret 中的文件的目录。对于 Source 构建策略,它们将注入到运行 assemble 脚本的容器中。之后,脚本完成后,注入的所有文件都会被截断为零长度。对于容器镜像构建策略,它们将复制到构建目录中,其中 Dockerfile 所在的位置,以便在容器镜像构建过程中 ADD 或 COPY。 |
| Secret 是对要在构建中使用的现有 secret 的引用。 |
3.1.21. .spec.strategy
- 描述
- BuildStrategy 包含如何执行构建的详细信息。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| CustomBuildStrategy 定义特定于 Custom build 的输入参数。 |
|
| DockerBuildStrategy 定义特定于容器镜像构建的输入参数。 |
|
| JenkinsPipelineBuildStrategy 包含特定于 Jenkins Pipeline 构建的参数。已弃用:使用 OpenShift Pipelines |
|
| SourceBuildStrategy 定义特定于 Source 构建的输入参数。 |
|
| type 是构建策略的类型。 |
3.1.22. .spec.strategy.customStrategy
- 描述
- CustomBuildStrategy 定义特定于 Custom build 的输入参数。
- 类型
-
object
- 必填
-
from
-
属性 | 类型 | 描述 |
---|---|---|
|
| buildAPIVersion 是 Build 对象序列化的请求的 API 版本,并传递给自定义构建器 |
| env 包含您要传递给构建器容器的额外环境变量。 | |
|
| exposeDockerSocket 将允许从容器内运行 Docker 命令(和构建容器镜像)。 |
|
| forcePull 描述控制器应该将构建 pod 配置为始终拉取构建器的镜像,或者仅在本地没有时拉取(pull)。 |
| from 是指应当从中拉取容器镜像的 DockerImage、ImageStreamStream 或 ImageStreamImage 的引用 | |
| pullSecret 是 Secret 的名称,用于设置从私有 Docker registry 中拉取容器镜像的身份验证 | |
|
| secret 是构建 pod 中包含的额外 secret 的列表 |
|
| SecretSpec 指定要包含在构建 pod 中的 secret 及其对应的挂载点 |
3.1.23. .spec.strategy.customStrategy.secrets
- 描述
- secret 是构建 pod 中包含的额外 secret 的列表
- 类型
-
数组
3.1.24. .spec.strategy.customStrategy.secrets[]
- 描述
- SecretSpec 指定要包含在构建 pod 中的 secret 及其对应的挂载点
- 类型
-
object
- 必填
-
secretSource
-
mountPath
-
属性 | 类型 | 描述 |
---|---|---|
|
| mountPath 是挂载 secret 的路径 |
| secretSource 是对 secret 的引用 |
3.1.25. .spec.strategy.dockerStrategy
- 描述
- DockerBuildStrategy 定义特定于容器镜像构建的输入参数。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
| buildArgs 包含要在 Dockerfile 中解析的构建参数。详情请查看 https://docs.docker.com/engine/reference/builder/#/arg。注意:只支持 'name' 和 'value' 字段。'valueFrom' 字段中的任何设置都会被忽略。 | |
|
|
dockerfilePath 是 Dockerfile 的路径,它将用于构建容器镜像,相对于上下文的根目录(contextDir)。如果未设置,则默认为 |
| env 包含您要传递给构建器容器的额外环境变量。 | |
|
| forcePull 描述构建前,构建器是否应该从 registry 中拉取镜像。 |
| from 是 DockerImage、ImageStreamTags 或 ImageStreamImage 的引用,可覆盖构建的 Dockerfile 中的 FROM 镜像。如果 Dockerfile 使用多阶段构建,这将替换文件的最后一个 FROM 指令中的镜像。 | |
|
| imageOptimizationPolicy 描述了系统在构建镜像时可以使用哪些优化,以减少构建镜像的最终大小或时间。默认策略为 'None',这意味着最终构建镜像将等同于由容器镜像构建 API 创建的镜像。实验性策略 'SkipLayers' 将避免在每个镜像步骤之间提交新层,如果 Dockerfile 无法与"None"策略提供兼容性,将失败。一个额外的实验性策略 'SkipLayersAndWarn' 与 'SkipLayers' 相同,只是在无法保留兼容性时警告。 |
|
| 如果设为 true,noCache 表示必须使用 --no-cache=true 标志执行容器镜像构建 |
| pullSecret 是 Secret 的名称,用于设置从私有 Docker registry 中拉取容器镜像的身份验证 | |
|
| 卷是可以挂载到构建运行时环境的输入卷列表。构建只支持 Kubernetes 卷源的子集。更多信息: https://kubernetes.io/docs/concepts/storage/volumes |
|
| BuildVolume 描述了为构建 pod 提供的卷,以便将其挂载到 buildah 的运行时环境中。仅支持 Kubernetes 卷源的子集。 |
3.1.26. .spec.strategy.dockerStrategy.volumes
- 描述
- 卷是可以挂载到构建运行时环境的输入卷列表。构建只支持 Kubernetes 卷源的子集。更多信息: https://kubernetes.io/docs/concepts/storage/volumes
- 类型
-
数组
3.1.27. .spec.strategy.dockerStrategy.volumes[]
- 描述
- BuildVolume 描述了为构建 pod 提供的卷,以便将其挂载到 buildah 的运行时环境中。仅支持 Kubernetes 卷源的子集。
- 类型
-
object
- 必填
-
name
-
source
-
mounts
-
属性 | 类型 | 描述 |
---|---|---|
|
| mounts 代表镜像构建容器中的卷位置 |
|
| BuildVolumeMount 描述了在 buildah 的运行时环境中挂载卷。 |
|
| name 是此 BuildVolume 的唯一标识符。它必须符合 Kubernetes DNS 标签标准,并在 pod 中唯一。与构建控制器添加的名称将会导致构建失败,并显示错误消息,详细描述了导致错误的名称。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names |
|
| BuildVolumeSource 代表卷的来源,在任何给定时间只能指定其支持的类型之一。 |
3.1.28. .spec.strategy.dockerStrategy.volumes[].mounts
- 描述
- mounts 代表镜像构建容器中的卷位置
- 类型
-
数组
3.1.29. .spec.strategy.dockerStrategy.volumes[].mounts[]
- 描述
- BuildVolumeMount 描述了在 buildah 的运行时环境中挂载卷。
- 类型
-
object
- 必填
-
destinationPath
-
属性 | 类型 | 描述 |
---|---|---|
|
| destinationPath 是 buildah 运行时环境中的路径,其应挂载该卷。构建镜像中的临时挂载和后备卷都将被挂载为只读。必须是绝对路径,不得包含 '..' 或 ':',且不得与构建器进程路径生成的目的地路径冲突,使构建控制器添加的构建将产生一个失败的构建,并详细描述了哪个路径导致错误导致错误。 |
3.1.30. .spec.strategy.dockerStrategy.volumes[].source
- 描述
- BuildVolumeSource 代表卷的来源,在任何给定时间只能指定其支持的类型之一。
- 类型
-
object
- 必填
-
type
-
属性 | 类型 | 描述 |
---|---|---|
| ConfigMap 代表应填充此卷的 ConfigMap | |
| CSI 代表外部 CSI 驱动程序提供的临时存储,支持此功能 | |
| Secret 代表应填充此卷的 Secret。更多信息: https://kubernetes.io/docs/concepts/storage/volumes#secret | |
|
| type 是卷源的 BuildVolumeSourceType。type 必须与填充的卷源匹配。有效类型有: Secret、ConfigMap |
3.1.31. .spec.strategy.jenkinsPipelineStrategy
- 描述
- JenkinsPipelineBuildStrategy 包含特定于 Jenkins Pipeline 构建的参数。已弃用:使用 OpenShift Pipelines
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
| env 包含您要传递给构建管道的额外环境变量。 | |
|
| Jenkinsfile 定义 Jenkinsfile 的可选原始内容,用于定义 Jenkins 管道构建。 |
|
| jenkinsfilePath 是 Jenkinsfile 的可选路径,它将用于配置相对于上下文的根目录(contextDir)的管道。如果同时没有指定 JenkinsfilePath 和 Jenkinsfile,则默认为指定 contextDir 中的 Jenkinsfile。 |
3.1.32. .spec.strategy.sourceStrategy
- 描述
- SourceBuildStrategy 定义特定于 Source 构建的输入参数。
- 类型
-
object
- 必填
-
from
-
属性 | 类型 | 描述 |
---|---|---|
| env 包含您要传递给构建器容器的额外环境变量。 | |
|
| forcePull 描述构建前,构建器是否应该从 registry 中拉取镜像。 |
| from 是指应当从中拉取容器镜像的 DockerImage、ImageStreamStream 或 ImageStreamImage 的引用 | |
|
| 如果为 true,则增量标志会强制 Source 构建执行增量构建。 |
| pullSecret 是 Secret 的名称,用于设置从私有 Docker registry 中拉取容器镜像的身份验证 | |
|
| 脚本是源脚本的位置 |
|
| 卷是可以挂载到构建运行时环境的输入卷列表。构建只支持 Kubernetes 卷源的子集。更多信息: https://kubernetes.io/docs/concepts/storage/volumes |
|
| BuildVolume 描述了为构建 pod 提供的卷,以便将其挂载到 buildah 的运行时环境中。仅支持 Kubernetes 卷源的子集。 |
3.1.33. .spec.strategy.sourceStrategy.volumes
- 描述
- 卷是可以挂载到构建运行时环境的输入卷列表。构建只支持 Kubernetes 卷源的子集。更多信息: https://kubernetes.io/docs/concepts/storage/volumes
- 类型
-
数组
3.1.34. .spec.strategy.sourceStrategy.volumes[]
- 描述
- BuildVolume 描述了为构建 pod 提供的卷,以便将其挂载到 buildah 的运行时环境中。仅支持 Kubernetes 卷源的子集。
- 类型
-
object
- 必填
-
name
-
source
-
mounts
-
属性 | 类型 | 描述 |
---|---|---|
|
| mounts 代表镜像构建容器中的卷位置 |
|
| BuildVolumeMount 描述了在 buildah 的运行时环境中挂载卷。 |
|
| name 是此 BuildVolume 的唯一标识符。它必须符合 Kubernetes DNS 标签标准,并在 pod 中唯一。与构建控制器添加的名称将会导致构建失败,并显示错误消息,详细描述了导致错误的名称。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names |
|
| BuildVolumeSource 代表卷的来源,在任何给定时间只能指定其支持的类型之一。 |
3.1.35. .spec.strategy.sourceStrategy.volumes[].mounts
- 描述
- mounts 代表镜像构建容器中的卷位置
- 类型
-
数组
3.1.36. .spec.strategy.sourceStrategy.volumes[].mounts[]
- 描述
- BuildVolumeMount 描述了在 buildah 的运行时环境中挂载卷。
- 类型
-
object
- 必填
-
destinationPath
-
属性 | 类型 | 描述 |
---|---|---|
|
| destinationPath 是 buildah 运行时环境中的路径,其应挂载该卷。构建镜像中的临时挂载和后备卷都将被挂载为只读。必须是绝对路径,不得包含 '..' 或 ':',且不得与构建器进程路径生成的目的地路径冲突,使构建控制器添加的构建将产生一个失败的构建,并详细描述了哪个路径导致错误导致错误。 |
3.1.37. .spec.strategy.sourceStrategy.volumes[].source
- 描述
- BuildVolumeSource 代表卷的来源,在任何给定时间只能指定其支持的类型之一。
- 类型
-
object
- 必填
-
type
-
属性 | 类型 | 描述 |
---|---|---|
| ConfigMap 代表应填充此卷的 ConfigMap | |
| CSI 代表外部 CSI 驱动程序提供的临时存储,支持此功能 | |
| Secret 代表应填充此卷的 Secret。更多信息: https://kubernetes.io/docs/concepts/storage/volumes#secret | |
|
| type 是卷源的 BuildVolumeSourceType。type 必须与填充的卷源匹配。有效类型有: Secret、ConfigMap |
3.1.38. .spec.triggeredBy
- 描述
- triggeredBy 描述了哪些触发器启动对构建配置的最新更新,并包含有关这些触发器的信息。
- 类型
-
数组
3.1.39. .spec.triggeredBy[]
- 描述
- BuildTriggerCause 包含有关触发的构建的信息。它用于显示 oc describe 中每个构建的构建触发器数据。它还用于描述导致构建配置中最近更新哪些触发器。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| BitbucketWebHookCause 包含有关触发构建的 Bitbucket Webhook 的信息。 |
|
| GenericWebHookCause 包含有关触发构建的通用 WebHook 的信息。 |
|
| GitHubWebHookCause 包含有关触发构建的 GitHub Webhook 的信息。 |
|
| GitLabWebHookCause 包含有关触发构建的 GitLab Webhook 的信息。 |
|
| ImageChangeCause 包含有关触发构建的镜像的信息 |
|
| 消息用于存储触发构建的原因的人类可读消息。例如:"手动由 user"触发,"配置更改",etc. |
3.1.40. .spec.triggeredBy[].bitbucketWebHook
- 描述
- BitbucketWebHookCause 包含有关触发构建的 Bitbucket Webhook 的信息。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| SourceRevision 是构建的修订或提交信息 |
|
| secret 是触发构建的模糊的 webhook secret。 |
3.1.41. .spec.triggeredBy[].bitbucketWebHook.revision
- 描述
- SourceRevision 是构建的修订或提交信息
- 类型
-
object
- 必填
-
type
-
属性 | 类型 | 描述 |
---|---|---|
|
| GitSourceRevision 是构建的 git 源的提交信息 |
|
| 构建源的类型可以是 'Source', 'Dockerfile', 'Binary', 或 'Images' 之一 |
3.1.42. .spec.triggeredBy[].bitbucketWebHook.revision.git
- 描述
- GitSourceRevision 是构建的 git 源的提交信息
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| SourceControlUser 定义源控制用户的身份 |
|
| commit 是标识特定提交的提交哈希 |
|
| SourceControlUser 定义源控制用户的身份 |
|
| message 是特定提交的描述 |
3.1.43. .spec.triggeredBy[].bitbucketWebHook.revision.git.author
- 描述
- SourceControlUser 定义源控制用户的身份
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| 源控制用户的电子邮件 |
|
| 源控制用户的名称 |
3.1.44. .spec.triggeredBy[].bitbucketWebHook.revision.git.committer
- 描述
- SourceControlUser 定义源控制用户的身份
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| 源控制用户的电子邮件 |
|
| 源控制用户的名称 |
3.1.45. .spec.triggeredBy[].genericWebHook
- 描述
- GenericWebHookCause 包含有关触发构建的通用 WebHook 的信息。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| SourceRevision 是构建的修订或提交信息 |
|
| secret 是触发构建的模糊的 webhook secret。 |
3.1.46. .spec.triggeredBy[].genericWebHook.revision
- 描述
- SourceRevision 是构建的修订或提交信息
- 类型
-
object
- 必填
-
type
-
属性 | 类型 | 描述 |
---|---|---|
|
| GitSourceRevision 是构建的 git 源的提交信息 |
|
| 构建源的类型可以是 'Source', 'Dockerfile', 'Binary', 或 'Images' 之一 |
3.1.47. .spec.triggeredBy[].genericWebHook.revision.git
- 描述
- GitSourceRevision 是构建的 git 源的提交信息
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| SourceControlUser 定义源控制用户的身份 |
|
| commit 是标识特定提交的提交哈希 |
|
| SourceControlUser 定义源控制用户的身份 |
|
| message 是特定提交的描述 |
3.1.48. .spec.triggeredBy[].genericWebHook.revision.git.author
- 描述
- SourceControlUser 定义源控制用户的身份
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| 源控制用户的电子邮件 |
|
| 源控制用户的名称 |
3.1.49. .spec.triggeredBy[].genericWebHook.revision.git.committer
- 描述
- SourceControlUser 定义源控制用户的身份
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| 源控制用户的电子邮件 |
|
| 源控制用户的名称 |
3.1.50. .spec.triggeredBy[].githubWebHook
- 描述
- GitHubWebHookCause 包含有关触发构建的 GitHub Webhook 的信息。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| SourceRevision 是构建的修订或提交信息 |
|
| secret 是触发构建的模糊的 webhook secret。 |
3.1.51. .spec.triggeredBy[].githubWebHook.revision
- 描述
- SourceRevision 是构建的修订或提交信息
- 类型
-
object
- 必填
-
type
-
属性 | 类型 | 描述 |
---|---|---|
|
| GitSourceRevision 是构建的 git 源的提交信息 |
|
| 构建源的类型可以是 'Source', 'Dockerfile', 'Binary', 或 'Images' 之一 |
3.1.52. .spec.triggeredBy[].githubWebHook.revision.git
- 描述
- GitSourceRevision 是构建的 git 源的提交信息
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| SourceControlUser 定义源控制用户的身份 |
|
| commit 是标识特定提交的提交哈希 |
|
| SourceControlUser 定义源控制用户的身份 |
|
| message 是特定提交的描述 |
3.1.53. .spec.triggeredBy[].githubWebHook.revision.git.author
- 描述
- SourceControlUser 定义源控制用户的身份
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| 源控制用户的电子邮件 |
|
| 源控制用户的名称 |
3.1.54. .spec.triggeredBy[].githubWebHook.revision.git.committer
- 描述
- SourceControlUser 定义源控制用户的身份
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| 源控制用户的电子邮件 |
|
| 源控制用户的名称 |
3.1.55. .spec.triggeredBy[].gitlabWebHook
- 描述
- GitLabWebHookCause 包含有关触发构建的 GitLab Webhook 的信息。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| SourceRevision 是构建的修订或提交信息 |
|
| secret 是触发构建的模糊的 webhook secret。 |
3.1.56. .spec.triggeredBy[].gitlabWebHook.revision
- 描述
- SourceRevision 是构建的修订或提交信息
- 类型
-
object
- 必填
-
type
-
属性 | 类型 | 描述 |
---|---|---|
|
| GitSourceRevision 是构建的 git 源的提交信息 |
|
| 构建源的类型可以是 'Source', 'Dockerfile', 'Binary', 或 'Images' 之一 |
3.1.57. .spec.triggeredBy[].gitlabWebHook.revision.git
- 描述
- GitSourceRevision 是构建的 git 源的提交信息
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| SourceControlUser 定义源控制用户的身份 |
|
| commit 是标识特定提交的提交哈希 |
|
| SourceControlUser 定义源控制用户的身份 |
|
| message 是特定提交的描述 |
3.1.58. .spec.triggeredBy[].gitlabWebHook.revision.git.author
- 描述
- SourceControlUser 定义源控制用户的身份
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| 源控制用户的电子邮件 |
|
| 源控制用户的名称 |
3.1.59. .spec.triggeredBy[].gitlabWebHook.revision.git.committer
- 描述
- SourceControlUser 定义源控制用户的身份
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| 源控制用户的电子邮件 |
|
| 源控制用户的名称 |
3.1.60. .spec.triggeredBy[].imageChangeBuild
- 描述
- ImageChangeCause 包含有关触发构建的镜像的信息
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
| fromRef 包含有关触发构建的镜像的详细信息。 | |
|
| imageID 是触发新构建的镜像的 ID。 |
3.1.61. .status
- 描述
- BuildStatus 包含构建的状态
- 类型
-
object
- 必填
-
phase
-
属性 | 类型 | 描述 |
---|---|---|
|
| Cancelled 描述了是否为构建触发了 cancel 事件。 |
| completionTimestamp 是一个代表此构建完成后服务器时间的时间戳,无论构建是否失败。它反映了运行构建所终止的 Pod 的时间。它以 RFC3339 格式表示,并以 UTC 表示。 | |
|
| 条件代表构建当前状态的最新可用影响。 |
|
| BuildCondition 描述了构建在特定时间点上的状态。 |
| 在 BuildConfig 中,config 是此构建所基于的 ObjectReference。 | |
|
| duration 包含用于描述构建时间的 time.Duration 对象。 |
|
| logSnippet 是构建日志的最后几行。这个值只为失败的构建设置。 |
|
| Message 是人类可读的消息,指示构建具有此状态的详细信息。 |
|
| BuildStatusOutput 包含构建的镜像的状态。 |
|
| outputDockerImageReference 包含对此构建将要构建的容器镜像的引用。其值从 Build.Spec.Output.To 计算,并且应包含 registry 地址,以便它可用于推送和拉取镜像。 |
|
| 阶段是构建生命周期中的点。可能的值有 "New", "Pending", "Running", "Complete", "Failed", "Error", 和 "Cancelled"。 |
|
| reason 是一个简短的 CamelCase 字符串,用于描述任何故障,用于 CLI 中的机器解析和波动显示。 |
|
| 阶段包含构建期间发生的每个阶段的详细信息,包括开始时间(以毫秒为单位)以及每个阶段所发生的步骤。 |
|
| StageInfo 包含有关构建阶段的详细信息。 |
| startTimestamp 是一个时间戳,代表此构建在 Pod 中启动时的服务器时间。它以 RFC3339 格式表示,并以 UTC 表示。 |
3.1.62. .status.conditions
- 描述
- 条件代表构建当前状态的最新可用影响。
- 类型
-
array
3.1.63. .status.conditions[]
- 描述
- BuildCondition 描述了构建在特定时间点上的状态。
- 类型
-
object
- 必填
-
type
-
status
-
属性 | 类型 | 描述 |
---|---|---|
| 条件从一个状态转换到另一个状态最后一次的时间。 | |
| 最后一次更新此条件的时间。 | |
|
| 人类可读的消息,指示有关转换的详细信息。 |
|
| 条件最后一次转换的原因。 |
|
| 条件的状态,True, False, Unknown 之一。 |
|
| 构建条件的类型。 |
3.1.64. .status.output
- 描述
- BuildStatusOutput 包含构建的镜像的状态。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| BuildStatusOutputTo 描述了构建镜像应该要推送到的镜像 registry 的状态。 |
3.1.65. .status.output.to
- 描述
- BuildStatusOutputTo 描述了构建镜像应该要推送到的镜像 registry 的状态。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| imageDigest 是构建的容器镜像摘要。摘要唯一标识它要推送到的 registry 中的镜像。 请注意,即使推送成功完成,也不能始终设置此字段 - 例如,当 registry 没有摘要或以构建器不理解的格式返回时。 |
3.1.66. .status.stages
- 描述
- 阶段包含构建期间发生的每个阶段的详细信息,包括开始时间(以毫秒为单位)以及每个阶段所发生的步骤。
- 类型
-
数组
3.1.67. .status.stages[]
- 描述
- StageInfo 包含有关构建阶段的详细信息。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| durationMilliseconds 标识阶段在毫秒内完成所需的时间。注:一个阶段的持续时间可以超过阶段中步骤持续时间的总和,因为不是所有操作都考虑在显式构建步骤中。 |
|
| name 是发生的每个构建阶段的唯一标识符。 |
| startTime 是一个代表这个阶段启动时服务器时间的时间戳。它以 RFC3339 格式表示,并以 UTC 表示。 | |
|
| 步骤包含构建阶段所发生的每个步骤的详细信息,包括开始时间和持续时间(以毫秒为单位)。 |
|
| StepInfo 包含构建步骤的详细信息。 |
3.1.68. .status.stages[].steps
- 描述
- 步骤包含构建阶段所发生的每个步骤的详细信息,包括开始时间和持续时间(以毫秒为单位)。
- 类型
-
数组
3.1.69. .status.stages[].steps[]
- 描述
- StepInfo 包含构建步骤的详细信息。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| durationMilliseconds 确定步骤在毫秒内完成所需的时间。 |
|
| name 是每个构建步骤的唯一标识符。 |
| startTime 是一个代表此步骤启动时服务器时间的时间戳。它以 RFC3339 格式表示,并以 UTC 表示。 |