2.4. 빌드 컨트롤러


빌드 컨트롤러는 Build 리소스의 업데이트를 모니터링하고 다음 작업을 수행합니다.

  • 참조된 Strategy 오브젝트가 Build 리소스에 있는지 확인합니다.
  • Build CR에서 지정된 매개변수가 참조된 빌드 전략에 있는지 확인합니다. 매개변수 이름이 예약된 이름과 충돌하는지도 확인합니다.
  • Build 리소스에 컨테이너 레지스트리 출력 시크릿이 있는지 확인합니다.
  • 참조된 spec.source.git.url 끝점 URL이 Build 리소스에 있는지 확인합니다.

빌드 실행 컨트롤러는 Build 또는 TaskRun 리소스의 업데이트를 모니터링하고 다음 작업을 수행합니다.

  • 기존 TaskRun 리소스를 검색하고 상위 BuildRun 리소스 상태를 업데이트합니다.
  • 지정된 서비스 계정을 검색하고 Build 리소스의 출력 보안과 함께 설정합니다.
  • TaskRun 리소스가 없는 경우 컨트롤러는 새 Tekton TaskRun 리소스를 생성하고 TaskRun 리소스에 대한 참조를 설정합니다.
  • TaskRun 리소스의 후속 업데이트의 경우 컨트롤러는 상위 BuildRun 리소스를 업데이트합니다.

2.4.1. 빌드 검증

잘못된 종속성 또는 구성 설정으로 인해 실패하는 BuildRun 리소스를 트리거하지 않으려면 빌드 컨트롤러에서 미리 유효성을 검사합니다. 모든 검증이 성공하면 Succeeded 라는 status.reason 필드를 볼 수 있습니다. 그러나 검증이 실패하는 경우 status.reasonstatus.message 필드를 확인하여 근본 원인을 파악해야 합니다.

표 2.1. 빌드 컨트롤러의 빌드 검증
status.reason 필드설명

BuildStrategyNotFound

네임스페이스 수준에서 참조된 전략이 존재하지 않습니다.

ClusterBuildStrategyNotFound

클러스터 수준에서 참조된 전략이 존재하지 않습니다.

SetOwnerReferenceFailed

BuildBuildRun 리소스 간의 소유자 참조를 설정하지 못했습니다. 이 상태는 빌드에서 spec.retention.atBuildDeletion 필드를 true 로 설정할 때 트리거됩니다.

SpecSourceSecretRefNotFound

Git에 인증하는 데 사용되는 시크릿은 존재하지 않습니다.

SpecOutputSecretRefNotFound

컨테이너 레지스트리에 인증하는 데 사용되는 시크릿은 존재하지 않습니다.

SpecBuilderSecretRefNotFound

컨테이너 레지스트리에 인증하는 데 사용되는 시크릿은 존재하지 않습니다.

MultipleSecretRefNotFound

인증에 사용되는 여러 보안이 누락되어 있습니다.

RestrictedParametersInUse

하나 이상의 정의된 params 는 예약된 매개변수와 함께 배치됩니다.

UndefinedParameter

매개변수는 참조된 전략에 정의되지 않습니다. 해당 매개변수를 전략의 spec.parameters 사양에 정의해야 합니다.

RemoteRepositoryUnreachable

정의된 spec.source.git.url 사양을 찾을 수 없습니다. 이 검증은 HTTP 및 HTTPS 프로토콜에서만 수행됩니다.

BuildNameInvalid

metadata.name 필드의 빌드 이름이 유효하지 않습니다. 빌드 이름에 유효한 라벨 값을 사용해야 합니다.

SpecEnvNameCanNotBeBlank

사용자 제공 환경 변수의 이름이 비어 있음을 나타냅니다.

SpecEnvValueCanNotBeBlank

사용자 제공 환경 변수의 값이 비어 있음을 나타냅니다.

Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

© 2024 Red Hat, Inc.