31장. 글로벌 빌드 기본값 및 덮어쓰기 구성
31.1. 개요
개발자는 Git 복제에 대한 프록시 구성과 같은 프로젝트 내의 특정 빌드 구성에서 설정을 정의할 수 있습니다. 관리자는 개발자가 각 빌드 구성에 특정 설정을 정의해야 하는 대신 승인 제어 플러그인을 사용하여 전역 빌드 기본값을 구성하고 빌드에서 이러한 설정을 자동으로 사용하는 재정의를 수행할 수 있습니다.
이러한 플러그인의 설정은 빌드 프로세스 중에만 사용되지만 빌드 구성 또는 빌드 자체에는 설정되지 않습니다. 플러그인을 통해 설정을 구성하면 관리자는 언제든지 글로벌 구성을 변경하고 기존 빌드 구성 또는 빌드에서 다시 실행되는 빌드에 새 설정이 할당됩니다.
-
BuildDefaults
승인 제어 플러그인을 사용하면 관리자가 Git HTTP 및 HTTPS 프록시와 같은 설정에 대한 글로벌 기본값과 기본 환경 변수를 설정할 수 있습니다. 이러한 기본값은 특정 빌드에 대해 구성된 값을 덮어쓰지 않습니다. 그러나 이러한 값이 빌드 정의에 없으면 기본값으로 설정됩니다. BuildOverrides
승인 제어 플러그인을 사용하면 관리자가 빌드에 저장된 값과 관계없이 빌드의 설정을 재정의할 수 있습니다.플러그인은 현재 빌드 전략에서
forcePull
플래그 재정의를 지원하여 빌드 중에 레지스트리에서 로컬 이미지를 강제로 새로 고칩니다. 즉, 빌드가 시작될 때마다 액세스 점검이 이미지에서 수행되므로 사용자가 가져올 수 있는 이미지만 사용할 수 있습니다. 강제 새로 고침에서는 빌드에 대한 멀티 테넌시를 제공합니다. 그러나 빌드 노드에 저장된 이미지의 로컬 캐시를 더 이상 사용할 수 없습니다. 항상 레지스트리에 액세스할 수 있어야 합니다.빌드된 모든 이미지에 이미지 레이블 세트를 적용하도록 플러그인을 구성할 수도 있습니다.
BuildOverrides
승인 제어 플러그인 및 재정의할 수 있는 값 구성에 대한 자세한 내용은 글로벌 빌드 오버라이드 수동 설정을 참조하십시오.
기본 노드 선택기와 BuildDefaults
또는 BuildOverrides
승인 플러그인은 다음과 같이 함께 작동합니다.
-
마스터 구성 파일의
projectConfig.defaultNodeSelector
필드에 정의된 기본 프로젝트 노드 선택기는 지정된nodeSelector
값이 없는 모든 프로젝트에 생성된 Pod에 적용됩니다. 이러한 설정은BuildDefaults 또는
nodeselector가 설정되지 않은 클러스터에서BuildOverrides
nodeSelector="null"
을 사용하여 빌드에 적용됩니다. -
클러스터 전체 기본 빌드 노드 선택기인
admissionConfig.pluginConfig.BuildDefaults.configuration.nodeSelector
는 빌드 구성에nodeSelector="null"
매개변수가 설정된 경우에만 적용됩니다.nodeSelector=null
이 기본 설정입니다. 기본 프로젝트 또는 클러스터 수준 노드 선택기를 사용하면 기본 설정이
BuildDefaults 또는
승인 플러그인에 설정된 빌드 노드 선택기에 AND로 추가됩니다. 이러한 설정은 빌드가BuildOverrides
BuildOverrides
노드 선택기 및 프로젝트 기본 노드 선택기를 충족하는 노드에만 예약됨을 의미합니다.참고RunOnceDuration 플러그인을 사용하여 빌드 Pod를 실행할 수 있는 기간에 대한 하드 제한을 정의할 수 있습니다.