3.9. 构建运行状态
每当镜像构建状态更改时,BuildRun
资源都会更新,如下例所示:
示例:带有 Unknown 状态的 BuildRun
$ oc get buildrun buildah-buildrun-mp99r NAME SUCCEEDED REASON STARTTIME COMPLETIONTIME buildah-buildrun-mp99r Unknown Unknown 1s
示例:带有 True 状态的 BuildRun
$ oc get buildrun buildah-buildrun-mp99r NAME SUCCEEDED REASON STARTTIME COMPLETIONTIME buildah-buildrun-mp99r True Succeeded 29m 20m
BuildRun
资源在 status.conditions
字段中存储与状态相关的信息。例如,类型为 Succeeded
的条件表示资源已成功完成其操作。status.conditions
字段包含 BuildRun
资源的重要信息,如 status、reason 和 message。
3.9.1. 构建运行状态描述
BuildRun
自定义资源(CR)在镜像构建过程中可能会具有不同的状态。下表描述了构建运行的不同状态:
Status | 原因 | 描述 |
---|---|---|
|
|
|
|
|
|
|
| 用户已请求取消构建运行。此请求会触发构建运行控制器,以发出取消相关任务运行的请求。当存在此状态时,取消仍然处于进程中。 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| 集群中没有找到引用的集群范围的策略。 |
|
| 集群中没有找到引用的命名空间范围的策略。 |
|
|
将 |
|
|
未找到与 |
|
|
|
|
|
您没有为构建策略中定义的一些参数提供任何值,而无需任何默认值。您必须在 |
|
| 提供了 system 参数的值,这是不允许的。 |
|
| 提供了构建策略中没有定义的参数值。 |
|
| 为带有错误类型的构建策略参数提供了一个值。例如,如果参数定义为构建策略中的数组或字符串,您必须相应地提供一组值或直接值。 |
|
|
参数的值包含多个这些值: |
|
|
数组参数的值中的项目不包含这些值: |
|
|
参数的值包含一个 |
|
|
参数的值包含一个 |
|
| 在集群中没有找到引用的服务帐户。 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
定义的 |
|
|
定义的 |
|
| 构建运行 pod 从其运行的节点驱除。 |
3.9.2. 失败的构建运行
当构建运行时,您可以检查 BuildRun
CR 中的 status.failureDetails
字段,以识别 pod 或容器中发生故障的确切点。status.failureDetails
字段包含错误消息以及失败原因。只有在构建策略中定义时,您才会看到消息和失败原因。
以下示例显示了失败的构建运行:
# ... status: # ... failureDetails: location: container: step-source-default pod: baran-build-buildrun-gzmv5-b7wbf-pod-bbpqr message: The source repository does not exist, or you have insufficient permission to access it. reason: GitRemotePrivate
status.failureDetails
字段还为与 Git 相关的所有操作提供错误详情。
3.9.3. 步骤结果为构建运行状态
在 BuildRun
资源完成其执行后,.status
字段包含从构建运行控制器生成的步骤发出的 .status.taskResults
结果。结果包括用于构建镜像的源代码的镜像摘要或提交 SHA。在 BuildRun
资源中,.status.sources
字段包含执行源步骤的结果,.status.output
字段包含执行输出步骤的结果。
以下示例显示了带有 Git 源步骤结果的 BuildRun
资源:
示例:带有 Git 源步骤结果的 BuildRun
资源
# ... status: buildSpec: # ... output: digest: sha256:07626e3c7fdd28d5328a8d6df8d29cd3da760c7f5e2070b534f9b880ed093a53 size: 1989004 sources: - name: default git: commitAuthor: xxx xxxxxx commitSha: f25822b85021d02059c9ac8a211ef3804ea8fdde branchName: main
以下示例显示了带有本地源代码步骤结果的 BuildRun
资源:
示例:带有本地源代码的步骤结果的 BuildRun
资源
# ... status: buildSpec: # ... output: digest: sha256:07626e3c7fdd28d5328a8d6df8d29cd3da760c7f5e2070b534f9b880ed093a53 size: 1989004 sources: - name: default bundle: digest: sha256:0f5e2070b534f9b880ed093a537626e3c7fdd28d5328a8d6df8d29cd3da760c7
只有在构建策略中定义时,才会查看输出镜像的摘要和大小。
3.9.4. 构建快照
对于每个构建运行协调,如果现有任务运行是该构建运行的一部分,则 BuildRun
资源更新状态中的 buildSpec
字段。
在这个版本中,Build
资源快照会生成并嵌入到 BuildRun
资源的 status.buildSpec
字段中。因此,buildSpec
字段包含原始 构建
规格的确切副本,后者用于执行特定的镜像构建。通过使用构建快照,您可以看到原始的 Build
资源配置。