2.4. 빌드 컨트롤러
빌드 컨트롤러는 Build
리소스의 업데이트를 모니터링하고 다음 작업을 수행합니다.
-
참조된
Strategy
오브젝트가Build
리소스에 있는지 확인합니다. -
Build
CR에서 지정된 매개변수가 참조된 빌드 전략에 있는지 확인합니다. 매개변수 이름이 예약된 이름과 충돌하는지도 확인합니다. -
Build
리소스에 컨테이너 레지스트리 출력 시크릿이 있는지 확인합니다. -
참조된
spec.source.git.url
끝점 URL이Build
리소스에 있는지 확인합니다.
빌드 실행 컨트롤러는 Build
또는 TaskRun
리소스의 업데이트를 모니터링하고 다음 작업을 수행합니다.
-
기존
TaskRun
리소스를 검색하고 상위BuildRun
리소스 상태를 업데이트합니다. -
지정된 서비스 계정을 검색하고
Build
리소스의 출력 보안과 함께 설정합니다. -
TaskRun
리소스가 없는 경우 컨트롤러는 새 TektonTaskRun
리소스를 생성하고TaskRun
리소스에 대한 참조를 설정합니다. -
TaskRun
리소스의 후속 업데이트의 경우 컨트롤러는 상위BuildRun
리소스를 업데이트합니다.
2.4.1. 빌드 검증
잘못된 종속성 또는 구성 설정으로 인해 실패하는 BuildRun
리소스를 트리거하지 않으려면 빌드 컨트롤러에서 미리 유효성을 검사합니다. 모든 검증이 성공하면 Succeeded
라는 status.reason
필드를 볼 수 있습니다. 그러나 검증이 실패하는 경우 status.reason
및 status.message
필드를 확인하여 근본 원인을 파악해야 합니다.
status.reason 필드 | 설명 |
---|---|
| 네임스페이스 수준에서 참조된 전략이 존재하지 않습니다. |
| 클러스터 수준에서 참조된 전략이 존재하지 않습니다. |
|
|
| Git에 인증하는 데 사용되는 시크릿은 존재하지 않습니다. |
| 컨테이너 레지스트리에 인증하는 데 사용되는 시크릿은 존재하지 않습니다. |
| 컨테이너 레지스트리에 인증하는 데 사용되는 시크릿은 존재하지 않습니다. |
| 인증에 사용되는 여러 보안이 누락되어 있습니다. |
|
하나 이상의 정의된 |
|
매개변수는 참조된 전략에 정의되지 않습니다. 해당 매개변수를 전략의 |
|
정의된 |
|
|
| 사용자 제공 환경 변수의 이름이 비어 있음을 나타냅니다. |
| 사용자 제공 환경 변수의 값이 비어 있음을 나타냅니다. |