第 3 章 Build [build.openshift.io/v1]


描述

构建封装了生成新可部署镜像所需的输入,以及执行的状态以及执行构建的 Pod 的引用。

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

类型
对象

3.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_v2

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

spec

object

BuildSpec 具有代表构建的信息,以及构建的附加信息

status

object

BuildStatus 包含构建的状态

3.1.1. .spec

描述
BuildSpec 具有代表构建的信息,以及构建的附加信息
类型
object
必填
  • 策略
属性类型描述

completionDeadlineSeconds

整数

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

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 是构建的修订或提交信息

serviceAccount

string

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

source

object

BuildSource 是用于构建的 SCM。

策略

object

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

triggeredBy

数组

triggeredBy 描述了哪些触发器启动对构建配置的最新更新,并包含有关这些触发器的信息。

triggeredBy[]

object

BuildTriggerCause 包含有关触发的构建的信息。它用于显示 oc describe 中每个构建的构建触发器数据。它还用于描述导致构建配置中最近更新哪些触发器。

3.1.2. .spec.output

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

imageLabels

数组

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

imageLabels[]

object

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

pushSecret

LocalObjectReference_v2

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

ObjectReference

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

3.1.3. .spec.output.imageLabels

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

3.1.4. .spec.output.imageLabels[]

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

name

string

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

value

string

value 定义标签的字面值。

3.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捆绑包 和其他二进制文件。

3.1.6. .spec.revision

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

git

object

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

type

string

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

3.1.7. .spec.revision.git

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

作者

object

SourceControlUser 定义源控制用户的身份

commit

string

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

committer

object

SourceControlUser 定义源控制用户的身份

message

string

message 是特定提交的描述

3.1.8. .spec.revision.git.author

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

email

string

源控制用户的电子邮件

名称

string

源控制用户的名称

3.1.9. .spec.revision.git.committer

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

email

string

源控制用户的电子邮件

名称

string

源控制用户的名称

3.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_v2

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

type

string

要接受的构建输入类型

3.1.11. .spec.source.binary

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

asFile

string

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

3.1.12. .spec.source.configMaps

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

3.1.13. .spec.source.configMaps[]

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

configMap

LocalObjectReference_v2

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

destinationDir

string

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

3.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 指向将要构建的源。源的结构取决于要运行的构建类型

3.1.15. .spec.source.images

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

3.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_v2

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

3.1.17. .spec.source.images[].paths

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

3.1.18. .spec.source.images[].paths[]

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

destinationDir

string

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

sourcePath

string

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

3.1.19. .spec.source.secrets

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

3.1.20. .spec.source.secrets[]

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

destinationDir

string

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

secret

LocalObjectReference_v2

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

3.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 是构建策略的类型。

3.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_v2

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

secrets

数组

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

secrets[]

object

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

string

mountPath 是挂载 secret 的路径

secretSource

LocalObjectReference_v2

secretSource 是对 secret 的引用

3.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_v2

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

数组

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

volumes[]

object

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

数组

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 代表卷的来源,在任何给定时间只能指定其支持的类型之一。

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

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

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

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

destinationPath

string

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

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

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

configMap

ConfigMapVolumeSource_v2

ConfigMap 代表应填充此卷的 ConfigMap

csi

CSIVolumeSource

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

secret

SecretVolumeSource_v2

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

type

string

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

3.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。

3.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_v2

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

脚本

string

脚本是源脚本的位置

数组

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

volumes[]

object

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

数组

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 代表卷的来源,在任何给定时间只能指定其支持的类型之一。

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

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

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

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

destinationPath

string

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

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

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

configMap

ConfigMapVolumeSource_v2

ConfigMap 代表应填充此卷的 ConfigMap

csi

CSIVolumeSource

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

secret

SecretVolumeSource_v2

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

type

string

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

3.1.38. .spec.triggeredBy

描述
triggeredBy 描述了哪些触发器启动对构建配置的最新更新,并包含有关这些触发器的信息。
类型
数组

3.1.39. .spec.triggeredBy[]

描述
BuildTriggerCause 包含有关触发的构建的信息。它用于显示 oc describe 中每个构建的构建触发器数据。它还用于描述导致构建配置中最近更新哪些触发器。
类型
object
属性类型描述

bitbucketWebHook

object

BitbucketWebHookCause 包含有关触发构建的 Bitbucket Webhook 的信息。

genericWebHook

object

GenericWebHookCause 包含有关触发构建的通用 WebHook 的信息。

githubWebHook

object

GitHubWebHookCause 包含有关触发构建的 GitHub Webhook 的信息。

gitlabWebHook

object

GitLabWebHookCause 包含有关触发构建的 GitLab Webhook 的信息。

imageChangeBuild

object

ImageChangeCause 包含有关触发构建的镜像的信息

message

string

消息用于存储触发构建的原因的人类可读消息。例如:"手动由 user"触发,"配置更改",etc.

3.1.40. .spec.triggeredBy[].bitbucketWebHook

描述
BitbucketWebHookCause 包含有关触发构建的 Bitbucket Webhook 的信息。
类型
object
属性类型描述

revision

object

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

secret

string

secret 是触发构建的模糊的 webhook secret。

3.1.41. .spec.triggeredBy[].bitbucketWebHook.revision

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

git

object

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

type

string

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

3.1.42. .spec.triggeredBy[].bitbucketWebHook.revision.git

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

作者

object

SourceControlUser 定义源控制用户的身份

commit

string

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

committer

object

SourceControlUser 定义源控制用户的身份

message

string

message 是特定提交的描述

3.1.43. .spec.triggeredBy[].bitbucketWebHook.revision.git.author

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

email

string

源控制用户的电子邮件

名称

string

源控制用户的名称

3.1.44. .spec.triggeredBy[].bitbucketWebHook.revision.git.committer

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

email

string

源控制用户的电子邮件

名称

string

源控制用户的名称

3.1.45. .spec.triggeredBy[].genericWebHook

描述
GenericWebHookCause 包含有关触发构建的通用 WebHook 的信息。
类型
object
属性类型描述

revision

object

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

secret

string

secret 是触发构建的模糊的 webhook secret。

3.1.46. .spec.triggeredBy[].genericWebHook.revision

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

git

object

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

type

string

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

3.1.47. .spec.triggeredBy[].genericWebHook.revision.git

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

作者

object

SourceControlUser 定义源控制用户的身份

commit

string

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

committer

object

SourceControlUser 定义源控制用户的身份

message

string

message 是特定提交的描述

3.1.48. .spec.triggeredBy[].genericWebHook.revision.git.author

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

email

string

源控制用户的电子邮件

名称

string

源控制用户的名称

3.1.49. .spec.triggeredBy[].genericWebHook.revision.git.committer

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

email

string

源控制用户的电子邮件

名称

string

源控制用户的名称

3.1.50. .spec.triggeredBy[].githubWebHook

描述
GitHubWebHookCause 包含有关触发构建的 GitHub Webhook 的信息。
类型
object
属性类型描述

revision

object

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

secret

string

secret 是触发构建的模糊的 webhook secret。

3.1.51. .spec.triggeredBy[].githubWebHook.revision

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

git

object

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

type

string

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

3.1.52. .spec.triggeredBy[].githubWebHook.revision.git

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

作者

object

SourceControlUser 定义源控制用户的身份

commit

string

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

committer

object

SourceControlUser 定义源控制用户的身份

message

string

message 是特定提交的描述

3.1.53. .spec.triggeredBy[].githubWebHook.revision.git.author

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

email

string

源控制用户的电子邮件

名称

string

源控制用户的名称

3.1.54. .spec.triggeredBy[].githubWebHook.revision.git.committer

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

email

string

源控制用户的电子邮件

名称

string

源控制用户的名称

3.1.55. .spec.triggeredBy[].gitlabWebHook

描述
GitLabWebHookCause 包含有关触发构建的 GitLab Webhook 的信息。
类型
object
属性类型描述

revision

object

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

secret

string

secret 是触发构建的模糊的 webhook secret。

3.1.56. .spec.triggeredBy[].gitlabWebHook.revision

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

git

object

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

type

string

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

3.1.57. .spec.triggeredBy[].gitlabWebHook.revision.git

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

作者

object

SourceControlUser 定义源控制用户的身份

commit

string

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

committer

object

SourceControlUser 定义源控制用户的身份

message

string

message 是特定提交的描述

3.1.58. .spec.triggeredBy[].gitlabWebHook.revision.git.author

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

email

string

源控制用户的电子邮件

名称

string

源控制用户的名称

3.1.59. .spec.triggeredBy[].gitlabWebHook.revision.git.committer

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

email

string

源控制用户的电子邮件

名称

string

源控制用户的名称

3.1.60. .spec.triggeredBy[].imageChangeBuild

描述
ImageChangeCause 包含有关触发构建的镜像的信息
类型
object
属性类型描述

fromRef

ObjectReference

fromRef 包含有关触发构建的镜像的详细信息。

imageID

string

imageID 是触发新构建的镜像的 ID。

3.1.61. .status

描述
BuildStatus 包含构建的状态
类型
object
必填
  • phase
属性类型描述

cancelled

布尔值

Cancelled 描述了是否为构建触发了 cancel 事件。

completionTimestamp

时间

completionTimestamp 是一个代表此构建完成后服务器时间的时间戳,无论构建是否失败。它反映了运行构建所终止的 Pod 的时间。它以 RFC3339 格式表示,并以 UTC 表示。

conditions

数组

条件代表构建当前状态的最新可用影响。

conditions[]

object

BuildCondition 描述了构建在特定时间点上的状态。

config

ObjectReference

在 BuildConfig 中,config 是此构建所基于的 ObjectReference。

duration

整数

duration 包含用于描述构建时间的 time.Duration 对象。

logSnippet

string

logSnippet 是构建日志的最后几行。这个值只为失败的构建设置。

message

string

Message 是人类可读的消息,指示构建具有此状态的详细信息。

output

object

BuildStatusOutput 包含构建的镜像的状态。

outputDockerImageReference

string

outputDockerImageReference 包含对此构建将要构建的容器镜像的引用。其值从 Build.Spec.Output.To 计算,并且应包含 registry 地址,以便它可用于推送和拉取镜像。

phase

string

阶段是构建生命周期中的点。可能的值有 "New", "Pending", "Running", "Complete", "Failed", "Error", 和 "Cancelled"。

reason

string

reason 是一个简短的 CamelCase 字符串,用于描述任何故障,用于 CLI 中的机器解析和波动显示。

stages

数组

阶段包含构建期间发生的每个阶段的详细信息,包括开始时间(以毫秒为单位)以及每个阶段所发生的步骤。

stages[]

object

StageInfo 包含有关构建阶段的详细信息。

startTimestamp

时间

startTimestamp 是一个时间戳,代表此构建在 Pod 中启动时的服务器时间。它以 RFC3339 格式表示,并以 UTC 表示。

3.1.62. .status.conditions

描述
条件代表构建当前状态的最新可用影响。
类型
array

3.1.63. .status.conditions[]

描述
BuildCondition 描述了构建在特定时间点上的状态。
类型
object
必填
  • type
  • status
属性类型描述

lastTransitionTime

时间

条件从一个状态转换到另一个状态最后一次的时间。

lastUpdateTime

时间

最后一次更新此条件的时间。

message

字符串

人类可读的消息,指示有关转换的详细信息。

reason

字符串

条件最后一次转换的原因。

status

字符串

条件的状态,True, False, Unknown 之一。

type

string

构建条件的类型。

3.1.64. .status.output

描述
BuildStatusOutput 包含构建的镜像的状态。
类型
object
属性类型描述

object

BuildStatusOutputTo 描述了构建镜像应该要推送到的镜像 registry 的状态。

3.1.65. .status.output.to

描述
BuildStatusOutputTo 描述了构建镜像应该要推送到的镜像 registry 的状态。
类型
object
属性类型描述

imageDigest

string

imageDigest 是构建的容器镜像摘要。摘要唯一标识它要推送到的 registry 中的镜像。

请注意,即使推送成功完成,也不能始终设置此字段 - 例如,当 registry 没有摘要或以构建器不理解的格式返回时。

3.1.66. .status.stages

描述
阶段包含构建期间发生的每个阶段的详细信息,包括开始时间(以毫秒为单位)以及每个阶段所发生的步骤。
类型
数组

3.1.67. .status.stages[]

描述
StageInfo 包含有关构建阶段的详细信息。
类型
object
属性类型描述

durationMilliseconds

整数

durationMilliseconds 标识阶段在毫秒内完成所需的时间。注:一个阶段的持续时间可以超过阶段中步骤持续时间的总和,因为不是所有操作都考虑在显式构建步骤中。

名称

string

name 是发生的每个构建阶段的唯一标识符。

startTime

时间

startTime 是一个代表这个阶段启动时服务器时间的时间戳。它以 RFC3339 格式表示,并以 UTC 表示。

步骤

数组

步骤包含构建阶段所发生的每个步骤的详细信息,包括开始时间和持续时间(以毫秒为单位)。

steps[]

object

StepInfo 包含构建步骤的详细信息。

3.1.68. .status.stages[].steps

描述
步骤包含构建阶段所发生的每个步骤的详细信息,包括开始时间和持续时间(以毫秒为单位)。
类型
数组

3.1.69. .status.stages[].steps[]

描述
StepInfo 包含构建步骤的详细信息。
类型
object
属性类型描述

durationMilliseconds

整数

durationMilliseconds 确定步骤在毫秒内完成所需的时间。

名称

string

name 是每个构建步骤的唯一标识符。

startTime

时间

startTime 是一个代表此步骤启动时服务器时间的时间戳。它以 RFC3339 格式表示,并以 UTC 表示。

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.