InfoGrab DocsInfoGrab Docs

CI/CD 구성에 기여하기

GitLab CI/CD 구성 파일의 키워드와 Entry 클래스 구조, 새 키워드 추가 방법, 피처 플래그 사용, 테스트 및 검증 방법을 설명합니다.

용어 설명 # CI/CD configuration : 프로젝트의 CI/CD 구성을 정의하는 YAML 파일. keyword : CI/CD 구성의 각 키워드. entry : CI/CD 구성에서 키워드를 나타내는 Entry 클래스. CI/CD 구성의 모든 키워드가 Entry 클래스로 표현되는 것은 아닙니다. 복잡한 구조나 재사용 가능한 부분이 있는 키워드에 대해서만 Entry 클래스를 생성합니다. 예를 들어: image 키워드는 Entry::Image 클래스로 표현됩니다. image 키워드의 name 서브키워드는 Entry 클래스로 표현되지 않습니다. image 키워드의 pull_policy 서브키워드는 Entry::PullPolicy 클래스로 표현됩니다. 새 키워드 추가하기 # 실험적 CI 키워드는 피처 플래그 뒤에 보호되어야 합니다. 사용자가 CI 구성에 키워드를 추가하는 것은 명시적 동의(opt-in) 로 간주되지 않습니다. 해당 키워드가 실험적임을 알지 못한 채 추가할 수 있기 때문입니다. 실험적 CI 키워드는 사용자에게 자동 완성 제안이 되지 않도록 JSON 스키마 에 추가해서는 안 됩니다. CI 설정 키워드는 lib/gitlab/ci/config/entry 디렉터리에 추가됩니다. EE 전용 변경 사항의 경우, ee/lib/gitlab/ci/config/entry 또는 ee/lib/ee/gitlab/ci/config/entry 디렉터리를 사용합니다. JSON 스키마 도 그에 맞게 업데이트하세요. 상속 # entry는 다음 중 하나를 상속하는 클래스로 표현됩니다: Entry::Node : 단순한 키워드의 경우. (예: Entry::Stage ) Entry::Simplifiable : 여러 구조를 가지는 키워드의 경우. 예를 들어, Entry::Retry 는 단순한 숫자 또는 해시 구성이 될 수 있습니다. Entry::ComposableArray : 단일 타입 서브 요소 목록을 가지는 키워드의 경우. 예를 들어, Entry::Includes 는 Entry::Include 요소의 목록을 가집니다. Entry::ComposableHash : 사용자 정의 키를 가진 단일 타입 서브 요소를 가지는 키워드의 경우. 예를 들어, Entry::Variables 는 사용자 정의 키를 가진 Entry::Variable 요소의 목록을 가집니다. 헬퍼 클래스 # entry에서 사용할 수 있는 헬퍼 클래스는 다음과 같습니다: Entry::Validatable : entry 클래스에서 validations 블록을 활성화하고 유효성 검사를 제공합니다. Entry::Attributable : entry 클래스에서 attributes 메서드를 활성화합니다. 각 속성에 대해 xxx , has_xxx? , has_xxx_value? 메서드를 생성합니다. Entry::Configurable : entry 클래스에서 entry 메서드를 활성화합니다. 각 entry에 대해 xxx_defined? , xxx_entry , xxx_value 메서드를 생성합니다. value 메서