3.9. 빌드 실행 상태
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(사용자 정의 리소스)은 이미지 빌드 프로세스 중에 다른 상태를 가질 수 있습니다. 다음 표에서는 빌드 실행의 다양한 상태에 대해 설명합니다.
상태 | 원인 | 설명 |
---|---|---|
|
|
|
|
|
|
|
| 사용자가 빌드 실행을 취소하도록 요청했습니다. 이 요청은 빌드 실행 컨트롤러를 트리거하여 관련 작업 실행 취소를 요청합니다. 이 상태가 있는 경우에도 취소가 진행 중입니다. |
|
|
|
|
|
단계 중 하나에서 |
|
|
|
|
|
|
|
| 참조된 클러스터 범위 전략이 클러스터에서 찾을 수 없습니다. |
|
| 참조된 네임스페이스 범위 전략이 클러스터에서 찾을 수 없습니다. |
|
|
|
|
|
|
|
|
|
|
|
기본값 없이 빌드 전략에 정의된 일부 매개변수에 대한 값을 제공하지 않았습니다. |
|
| 시스템 매개 변수의 값이 제공되었습니다. 이 값은 허용되지 않습니다. |
|
| 빌드 전략에 정의되지 않은 매개변수 값이 제공되었습니다. |
|
| 잘못된 유형의 빌드 전략 매개변수에 대한 값이 제공되었습니다. 예를 들어 매개변수가 빌드 전략에서 배열 또는 문자열로 정의된 경우 그에 따라 값 집합 또는 직접 값을 제공해야 합니다. |
|
|
매개변수 값에는 값 , |
|
|
array 매개변수의 값에는 값 , |
|
|
매개변수 값에는 |
|
|
매개변수 값에는 |
|
| 참조된 서비스 계정이 클러스터에서 찾을 수 없습니다. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
정의된 |
|
|
정의된 |
|
| 빌드 실행 Pod가 실행 중인 노드에서 제거되었습니다. |
3.9.2. 빌드 실행 실패
빌드 실행에 실패하면 BuildRun
CR의 status.failure Details
필드를 확인하여 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
사양의 정확한 사본이 포함되어 있습니다. 빌드 스냅샷을 사용하면 원래 Build
리소스 구성을 볼 수 있습니다.