第 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 定义对象的这个表示法的版本化的 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 | |
|
| BuildConfigSpec 描述了创建构建的时间和方式 |
|
| BuildConfigStatus 包含构建配置对象的当前状态。 |
2.1.1. .spec
- 描述
- BuildConfigSpec 描述了创建构建的时间和方式
- 类型
-
object
- 必填
-
策略
-
属性 | 类型 | 描述 |
---|---|---|
|
| completionDeadlineSeconds 是一个可选持续时间(以秒为单位),从系统中调度构建 pod 的时间,在系统主动尝试终止构建前,构建可能在节点上处于活跃状态;值必须是正整数。 |
|
| failedBuildsHistoryLimit 是要保留的旧失败构建的数量。创建 BuildConfig 时,将保留 5 个最新失败构建,除非设置了这个值。如果在 BuildConfig 创建后删除,则所有失败的构建都会被保留。 |
|
| 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 是构建的修订或提交信息 |
|
| runPolicy 描述了如何调度从此构建配置创建的新构建来执行。如果未指定,则默认为 "Serial"。 |
|
| ServiceAccount 是用于运行此构建创建的 pod 的 ServiceAccount 的名称。pod 允许使用 ServiceAccount 引用的 secret |
|
| BuildSource 是用于构建的 SCM。 |
|
| BuildStrategy 包含如何执行构建的详细信息。 |
|
| successfulBuildsHistoryLimit 是要保留的旧成功构建的数量。创建 BuildConfig 时,将保留 5 个最新成功构建,除非设置了这个值。如果在 BuildConfig 创建后删除,则所有成功构建都会被保留。 |
|
| 触发器决定如何从 BuildConfig 启动新构建。如果没有定义触发器,则只能在创建显式客户端构建后进行新构建。 |
|
| BuildTriggerPolicy 描述了生成新构建的单个触发器的策略。 |
2.1.2. .spec.output
- 描述
- BuildOutput 是构建策略的输入,并描述了策略应生成的容器镜像。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| imageLabels 定义应用到生成的镜像的标签列表。如果存在具有相同名称的多个标签,则使用列表中的最后一个标签。 |
|
| ImageLabel 代表应用于生成的镜像的标签。 |
| pushSecret 是 Secret 的名称,用于设置执行 Docker push 的身份验证到启用 Docker Registry (或 Docker Hub)的身份验证。 | |
| 将此构建的输出推送到的可选位置。kind 必须是 'ImageStreamTag' 或 'DockerImage' 之一。这个值将用于查找要推送到的容器镜像存储库。对于 ImageStreamTag,除非指定了 Namespace,否则 ImageStreamTag 将会在构建的命名空间中查找。 |
2.1.3. .spec.output.imageLabels
- 描述
- imageLabels 定义应用到生成的镜像的标签列表。如果存在具有相同名称的多个标签,则使用列表中的最后一个标签。
- 类型
-
数组
2.1.4. .spec.output.imageLabels[]
- 描述
- ImageLabel 代表应用于生成的镜像的标签。
- 类型
-
object
- 必填
-
name
-
属性 | 类型 | 描述 |
---|---|---|
|
| name 定义标签的名称。它必须具有非零长度。 |
|
| value 定义标签的字面值。 |
2.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 指定。如果镜像没有 |
|
|
脚本是使用 |
2.1.6. .spec.revision
- 描述
- SourceRevision 是构建的修订或提交信息
- 类型
-
object
- 必填
-
type
-
属性 | 类型 | 描述 |
---|---|---|
|
| GitSourceRevision 是构建的 git 源的提交信息 |
|
| 构建源的类型可以是 'Source', 'Dockerfile', 'Binary', 或 'Images' 之一 |
2.1.7. .spec.revision.git
- 描述
- GitSourceRevision 是构建的 git 源的提交信息
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| SourceControlUser 定义源控制用户的身份 |
|
| commit 是标识特定提交的提交哈希 |
|
| SourceControlUser 定义源控制用户的身份 |
|
| message 是特定提交的描述 |
2.1.8. .spec.revision.git.author
- 描述
- SourceControlUser 定义源控制用户的身份
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| 源控制用户的电子邮件 |
|
| 源控制用户的名称 |
2.1.9. .spec.revision.git.committer
- 描述
- SourceControlUser 定义源控制用户的身份
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| 源控制用户的电子邮件 |
|
| 源控制用户的名称 |
2.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. | |
|
| 要接受的构建输入类型 |
2.1.11. .spec.source.binary
- 描述
- BinaryBuildSource 描述了用于 Docker 和 Source 构建策略的二进制文件,该文件将提取并用作构建源。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
|
asFile 表示提供的二进制输入应被视为构建输入中的一个文件。例如,指定"webapp.war"会将提供的二进制文件放在构建器的 |
2.1.12. .spec.source.configMaps
- 描述
- ConfigMaps 代表 configMaps 列表,其目的地将用于构建。
- 类型
-
数组
2.1.13. .spec.source.configMaps[]
- 描述
- ConfigMapBuildSource 描述了 configmap 及其目标目录,它们仅在构建时使用。此处引用的 configmap 的内容将复制到目标目录中,而不是挂载。
- 类型
-
object
- 必填
-
configMap
-
属性 | 类型 | 描述 |
---|---|---|
| ConfigMap 是您要在构建中使用的现有 configmap 的引用。 | |
|
| destinationDir 是 ConfigMap 中文件应该可用于构建时间的目录。对于 Source 构建策略,它们将注入到运行 assemble 脚本的容器中。对于容器镜像构建策略,它们将复制到构建目录中,其中 Dockerfile 所在的位置,以便在容器镜像构建过程中 ADD 或 COPY。 |
2.1.14. .spec.source.git
- 描述
- GitBuildSource 定义 Git SCM 的参数
- 类型
-
object
- 必填
-
uri
-
属性 | 类型 | 描述 |
---|---|---|
|
| httpProxy 是一个代理,用于通过 http 访问 git 存储库 |
|
| httpsProxy 是一个代理,用于通过 https 访问 git 存储库 |
|
| noProxy 是不应使用代理的域列表 |
|
| ref 是要构建的分支/标签/ref。 |
|
| 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
-
属性 | 类型 | 描述 |
---|---|---|
|
| 此源在多阶段容器镜像构建期间将使用的镜像名称列表。例如,使用 "COPY --from=nginx:latest" 的 Dockerfile 将首先检查此字段中具有"nginx:latest"的镜像源,然后再尝试直接拉取。如果 Dockerfile 不引用镜像源,它将被忽略。此字段和路径均可设置,在这种情况下,内容将使用两次。 |
| from 是从 中复制源的 ImageStreamTag、ImageStreamImage 或 DockerImage 的引用。 | |
|
| paths 是从镜像复制的源和目标路径列表。在开始构建前,此内容将复制到构建上下文中。如果没有设置路径,则不会更改构建上下文。 |
|
| ImageSourcePath 描述了要在构建目录中从源镜像复制的路径及其目的地。 |
| pullSecret 是用于从 OpenShift registry 中拉取镜像的 secret 的引用,则不需要设置此字段。 |
2.1.17. .spec.source.images[].paths
- 描述
- paths 是从镜像复制的源和目标路径列表。在开始构建前,此内容将复制到构建上下文中。如果没有设置路径,则不会更改构建上下文。
- 类型
-
数组
2.1.18. .spec.source.images[].paths[]
- 描述
- ImageSourcePath 描述了要在构建目录中从源镜像复制的路径及其目的地。
- 类型
-
object
- 必填
-
sourcePath
-
destinationDir
-
属性 | 类型 | 描述 |
---|---|---|
|
| destinationDir 是构建目录中的相对目录,其中放置从镜像复制的文件。 |
|
| sourcePath 是镜像中要复制到构建目录的文件或目录的绝对路径。如果源路径以 /. 结尾,则复制目录的内容,但不会在目的地上创建目录本身。 |
2.1.19. .spec.source.secrets
- 描述
- secrets 代表 secret 列表及其目的地,仅用于构建。
- 类型
-
数组
2.1.20. .spec.source.secrets[]
- 描述
- SecretBuildSource 描述了仅在构建时使用的 secret 及其目标目录。此处引用的 secret 的内容将复制到目标目录中,而不是挂载。
- 类型
-
object
- 必填
-
secret
-
属性 | 类型 | 描述 |
---|---|---|
|
| destinationDir 是构建时间可以使用 secret 中的文件的目录。对于 Source 构建策略,它们将注入到运行 assemble 脚本的容器中。之后,脚本完成后,注入的所有文件都会被截断为零长度。对于容器镜像构建策略,它们将复制到构建目录中,其中 Dockerfile 所在的位置,以便在容器镜像构建过程中 ADD 或 COPY。 |
| Secret 是对要在构建中使用的现有 secret 的引用。 |
2.1.21. .spec.strategy
- 描述
- BuildStrategy 包含如何执行构建的详细信息。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| CustomBuildStrategy 定义特定于 Custom build 的输入参数。 |
|
| DockerBuildStrategy 定义特定于容器镜像构建的输入参数。 |
|
| JenkinsPipelineBuildStrategy 包含特定于 Jenkins Pipeline 构建的参数。已弃用:使用 OpenShift Pipelines |
|
| SourceBuildStrategy 定义特定于 Source 构建的输入参数。 |
|
| type 是构建策略的类型。 |
2.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 及其对应的挂载点 |
2.1.23. .spec.strategy.customStrategy.secrets
- 描述
- secret 是构建 pod 中包含的额外 secret 的列表
- 类型
-
数组
2.1.24. .spec.strategy.customStrategy.secrets[]
- 描述
- SecretSpec 指定要包含在构建 pod 中的 secret 及其对应的挂载点
- 类型
-
object
- 必填
-
secretSource
-
mountPath
-
属性 | 类型 | 描述 |
---|---|---|
|
| mountPath 是挂载 secret 的路径 |
| secretSource 是对 secret 的引用 |
2.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 卷源的子集。 |
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 代表镜像构建容器中的卷位置 |
|
| BuildVolumeMount 描述了在 buildah 的运行时环境中挂载卷。 |
|
| name 是此 BuildVolume 的唯一标识符。它必须符合 Kubernetes DNS 标签标准,并在 pod 中唯一。与构建控制器添加的名称将会导致构建失败,并显示错误消息,详细描述了导致错误的名称。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names |
|
| BuildVolumeSource 代表卷的来源,在任何给定时间只能指定其支持的类型之一。 |
2.1.28. .spec.strategy.dockerStrategy.volumes[].mounts
- 描述
- mounts 代表镜像构建容器中的卷位置
- 类型
-
数组
2.1.29. .spec.strategy.dockerStrategy.volumes[].mounts[]
- 描述
- BuildVolumeMount 描述了在 buildah 的运行时环境中挂载卷。
- 类型
-
object
- 必填
-
destinationPath
-
属性 | 类型 | 描述 |
---|---|---|
|
| destinationPath 是 buildah 运行时环境中的路径,其应挂载该卷。构建镜像中的临时挂载和后备卷都将被挂载为只读。必须是绝对路径,不得包含 '..' 或 ':',且不得与构建器进程路径生成的目的地路径冲突,使构建控制器添加的构建将产生一个失败的构建,并详细描述了哪个路径导致错误导致错误。 |
2.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 |
2.1.31. .spec.strategy.jenkinsPipelineStrategy
- 描述
- JenkinsPipelineBuildStrategy 包含特定于 Jenkins Pipeline 构建的参数。已弃用:使用 OpenShift Pipelines
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
| env 包含您要传递给构建管道的额外环境变量。 | |
|
| Jenkinsfile 定义 Jenkinsfile 的可选原始内容,用于定义 Jenkins 管道构建。 |
|
| jenkinsfilePath 是 Jenkinsfile 的可选路径,它将用于配置相对于上下文的根目录(contextDir)的管道。如果同时没有指定 JenkinsfilePath 和 Jenkinsfile,则默认为指定 contextDir 中的 Jenkinsfile。 |
2.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 卷源的子集。 |
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 代表镜像构建容器中的卷位置 |
|
| BuildVolumeMount 描述了在 buildah 的运行时环境中挂载卷。 |
|
| name 是此 BuildVolume 的唯一标识符。它必须符合 Kubernetes DNS 标签标准,并在 pod 中唯一。与构建控制器添加的名称将会导致构建失败,并显示错误消息,详细描述了导致错误的名称。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names |
|
| BuildVolumeSource 代表卷的来源,在任何给定时间只能指定其支持的类型之一。 |
2.1.35. .spec.strategy.sourceStrategy.volumes[].mounts
- 描述
- mounts 代表镜像构建容器中的卷位置
- 类型
-
数组
2.1.36. .spec.strategy.sourceStrategy.volumes[].mounts[]
- 描述
- BuildVolumeMount 描述了在 buildah 的运行时环境中挂载卷。
- 类型
-
object
- 必填
-
destinationPath
-
属性 | 类型 | 描述 |
---|---|---|
|
| destinationPath 是 buildah 运行时环境中的路径,其应挂载该卷。构建镜像中的临时挂载和后备卷都将被挂载为只读。必须是绝对路径,不得包含 '..' 或 ':',且不得与构建器进程路径生成的目的地路径冲突,使构建控制器添加的构建将产生一个失败的构建,并详细描述了哪个路径导致错误导致错误。 |
2.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 |
2.1.38. .spec.triggers
- 描述
- 触发器决定如何从 BuildConfig 启动新构建。如果没有定义触发器,则只能在创建显式客户端构建后进行新构建。
- 类型
-
数组
2.1.39. .spec.triggers[]
- 描述
- BuildTriggerPolicy 描述了生成新构建的单个触发器的策略。
- 类型
-
object
- 必填
-
type
-
属性 | 类型 | 描述 |
---|---|---|
|
| WebHookTrigger 是一个触发器,它使用 webhook 类型 post 调用 |
|
| WebHookTrigger 是一个触发器,它使用 webhook 类型 post 调用 |
|
| WebHookTrigger 是一个触发器,它使用 webhook 类型 post 调用 |
|
| WebHookTrigger 是一个触发器,它使用 webhook 类型 post 调用 |
|
| ImageChangeTrigger 允许在 ImageStream 更改时触发构建 |
|
| 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 决定 webhook 是否可以设置环境变量;对于 GenericWebHook,只能设置为 true。 |
|
| 用于验证请求的 secret。deprecated: 使用 SecretReference 替代。 |
|
| SecretLocalReference 包含指向所使用的本地 secret 的信息 |
2.1.41. .spec.triggers[].bitbucket.secretReference
- 描述
- SecretLocalReference 包含指向所使用的本地 secret 的信息
- 类型
-
object
- 必填
-
name
-
属性 | 类型 | 描述 |
---|---|---|
|
| name 是被引用同一命名空间中的资源的名称 |
2.1.42. .spec.triggers[].generic
- 描述
- WebHookTrigger 是一个触发器,它使用 webhook 类型 post 调用
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| allowEnv 决定 webhook 是否可以设置环境变量;对于 GenericWebHook,只能设置为 true。 |
|
| 用于验证请求的 secret。deprecated: 使用 SecretReference 替代。 |
|
| SecretLocalReference 包含指向所使用的本地 secret 的信息 |
2.1.43. .spec.triggers[].generic.secretReference
- 描述
- SecretLocalReference 包含指向所使用的本地 secret 的信息
- 类型
-
object
- 必填
-
name
-
属性 | 类型 | 描述 |
---|---|---|
|
| name 是被引用同一命名空间中的资源的名称 |
2.1.44. .spec.triggers[].github
- 描述
- WebHookTrigger 是一个触发器,它使用 webhook 类型 post 调用
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| allowEnv 决定 webhook 是否可以设置环境变量;对于 GenericWebHook,只能设置为 true。 |
|
| 用于验证请求的 secret。deprecated: 使用 SecretReference 替代。 |
|
| SecretLocalReference 包含指向所使用的本地 secret 的信息 |
2.1.45. .spec.triggers[].github.secretReference
- 描述
- SecretLocalReference 包含指向所使用的本地 secret 的信息
- 类型
-
object
- 必填
-
name
-
属性 | 类型 | 描述 |
---|---|---|
|
| name 是被引用同一命名空间中的资源的名称 |
2.1.46. .spec.triggers[].gitlab
- 描述
- WebHookTrigger 是一个触发器,它使用 webhook 类型 post 调用
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| allowEnv 决定 webhook 是否可以设置环境变量;对于 GenericWebHook,只能设置为 true。 |
|
| 用于验证请求的 secret。deprecated: 使用 SecretReference 替代。 |
|
| SecretLocalReference 包含指向所使用的本地 secret 的信息 |
2.1.47. .spec.triggers[].gitlab.secretReference
- 描述
- SecretLocalReference 包含指向所使用的本地 secret 的信息
- 类型
-
object
- 必填
-
name
-
属性 | 类型 | 描述 |
---|---|---|
|
| name 是被引用同一命名空间中的资源的名称 |
2.1.48. .spec.triggers[].imageChange
- 描述
- ImageChangeTrigger 允许在 ImageStream 更改时触发构建
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
| from 是对 ImageStreamTag 的引用,该引用将在更新时触发构建是可选的。如果没有指定 From,则使用构建策略中的 From 镜像。构建配置中只允许一个带有空的 From 引用的一个 ImageChangeTrigger。 | |
|
| lastTriggeredImageID 由 ImageChangeController 在内部使用,以保存构建此字段的最后使用的镜像 ID 已被弃用,并将在以后的发行版本中删除。已弃用 |
|
| 如果此触发器被临时禁用,则暂停为 true。可选。 |
2.1.49. .status
- 描述
- BuildConfigStatus 包含构建配置对象的当前状态。
- 类型
-
object
- 必填
-
lastVersion
-
属性 | 类型 | 描述 |
---|---|---|
|
| ImageChangeTriggers 捕获 BuildConfigSpec 中指定的任何 ImageChangeTrigger 的运行时状态,包括 OpenShift APIServer 为 lastTriggeredImageID 协调的值。这个数组中有一个条目用于 spec 中的每个镜像更改触发器。每个触发器状态引用作为触发器源的 ImageStreamTag。 |
|
| ImageChangeTriggerStatus 跟踪 BuildConfigSpec.Triggers struct 中指定的关联 ImageChangeTrigger 策略的最新解析状态。 |
|
| 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
属性 | 类型 | 描述 |
---|---|---|
|
| ImageStreamTagReference 根据命名空间和名称引用镜像更改触发器中的 ImageStreamTag。 |
| lastTriggerTime 是这个特定 ImageStreamTag 最后一次触发构建来启动的时间。只有在此触发器特别启动 Build 时,此字段才会更新。 | |
|
| 当为此 BuildConfig 的构建启动时,lastTriggeredImageID 代表 ImageStreamTag 的 sha/id。每次启动此 BuildConfig 的构建时都会更新 lastTriggeredImageID,即使此 ImageStreamTag 不是启动构建的原因。 |
2.1.52. .status.imageChangeTriggers[].from
- 描述
- ImageStreamTagReference 根据命名空间和名称引用镜像更改触发器中的 ImageStreamTag。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| name 是 ImageChangeTrigger 的 ImageStreamTag 的名称 |
|
| namespace 是 ImageChangeTrigger 的 ImageStreamTag 所在的命名空间 |