InfoGrab DocsInfoGrab Docs

Code Owners 개발 가이드라인

Code Owners 기능의 코드 설계, 비즈니스 로직, 관련 모델, 컨트롤러 및 플로우를 설명합니다.

이 문서는 기여자들이 Code Owners 의 코드 설계를 이해할 수 있도록 작성되었습니다. 이 기능의 코드를 변경하기 전에 이 문서를 읽어보세요. 이 문서는 코드가 자주 변경될 수 있으므로 코드 설계 방식에 대한 개요로 의도적으로 제한되어 있습니다. 기능의 특정 부분이 어떻게 작동하는지 이해하려면 코드와 스펙을 직접 확인하세요. 여기에서 설명하는 내용은 Code Owners 기능의 주요 구성 요소가 어떻게 작동하는지를 설명합니다. 이 문서는 여기서 참조하는 코드베이스의 일부가 업데이트, 삭제되거나 새로운 부분이 추가될 때 함께 업데이트되어야 합니다. 비즈니스 로직 # Code Owners에 관한 모든 비즈니스 로직은 Gitlab::CodeOwners 네임스페이스에 위치합니다. Code Owners는 EE 전용 기능이므로 파일은 ./ee 디렉터리에만 존재합니다. Gitlab::CodeOwners : code owner 규칙과 상호작용하는 데 사용되는 주요 모듈입니다. ./ee/lib/gitlab/code_owners.rb 에 정의되어 있습니다. Gitlab::CodeOwners::File : CODEOWNERS 파일을 래핑하고 클래스의 공개 메서드를 통해 데이터를 노출합니다. ./ee/lib/gitlab/code_owners/file.rb 에 정의되어 있습니다. Gitlab::CodeOwners::Section : CODEOWNERS 파일의 섹션 헤딩을 래핑하고 다양한 부분을 파싱합니다. ./ee/lib/gitlab/code_owners/section.rb 에 정의되어 있습니다. Gitlab::CodeOwners::Entry : CODEOWNERS 파일의 항목(패턴 및 owner 라인)을 래핑하고 클래스의 공개 메서드를 통해 데이터를 노출합니다. ./ee/lib/gitlab/code_owners/entry.rb 에 정의되어 있습니다. Gitlab::CodeOwners::Loader : 올바른 CODEOWNER 파일을 찾아 Gitlab::CodeOwners::File 인스턴스로 콘텐츠를 로드합니다. ./ee/lib/gitlab/code_owners/loader.rb 에 정의되어 있습니다. Gitlab::CodeOwners::ReferenceExtractor : 텍스트에서 CODEOWNER 사용자, 그룹 및 이메일 참조를 추출합니다. ./ee/lib/gitlab/code_owners/reference_extractor.rb 에 정의되어 있습니다. Gitlab::CodeOwners::UsersLoader : 올바른 CODEOWNER 파일을 찾아 Gitlab::CodeOwners::File 인스턴스로 콘텐츠를 로드합니다. ./ee/lib/gitlab/code_owners/users_loader.rb 에 정의되어 있습니다. Gitlab::CodeOwners::GroupsLoader : 올바른 CODEOWNER 파일을 찾아 Gitlab::CodeOwners::File 인스턴스로 콘텐츠를 로드합니다. ./ee/lib/gitlab/code_owners