소스 코드 관리
소스 코드 관리 팀은 소스 코드 그룹 아래에 속하는 제품 카테고리의 모든 백엔드 측면에 대한 책임이 있습니다.
이들은 DevOps 라이프사이클의 Create 단계에서 작업합니다.
소스 코드 관리 팀은 Gitaly 및 코드 검토 팀과 협력하며, Workhorse, GitLab Shell 및 GitLab Rails라는 세 가지 코드베이스에서 작업합니다.
소스 코드 기능 참조
소스 코드 관리 그룹이 소유한 기능은 그룹별 기능 페이지에서 확인할 수 있습니다.
코드 소유자
소스 코드 관리는 코드 검토 그룹과 코드 소유권을 공유합니다.
승인 규칙
푸시 규칙
보호된 브랜치
보호된 브랜치 모델에 대한 정보는 코드 소유자 기술 참조 페이지에서 확인할 수 있습니다.
저장소
프로젝트 템플릿
Git LFS
기술 스택
GitLab Rails
Gitaly 접점
Gitaly는 Git 리포지토리에 대한 고급 RPC 액세스를 제공합니다.
모든 GitLab 설치에서 존재하며, Git 리포지토리의 저장 및 검색을 조정합니다.
Gitaly는 Gitaly가 서버로, Gitaly 클라이언트가 _Gitaly 소비자_로 알려진 클라이언트-서버 아키텍처를 구현합니다:
- GitLab Rails
- GitLab Shell
- GitLab Workhorse
Gitaly Rails는 Gitaly RPC의 대응 API 엔드포인트를 제공합니다. 자세한 내용은 Gitaly 접점을 읽어보세요.
주석이 달린 Rails 소스 코드
:source_code_management
주석은 Rails 코드베이스에서 소스 코드 관리 그룹에 속하는 코드를 나타냅니다.
주석이 달린 객체는 이 페이지와 오류 예산 대시보드에서 제공됩니다.
GitLab Workhorse
GitLab Workhorse는 GitLab을 위한 스마트 리버스 프록시입니다.
대용량 HTTP 요청(파일 다운로드, 파일 업로드, git push
, git pull
, git
아카이브 다운로드 등)을 처리합니다.
Workhorse 자체는 기능이 아니지만, GitLab 내 여러 기능은 Workhorse 없이는 효율적으로 작동하지 않습니다.
GitLab Shell
GitLab Shell은 GitLab을 위한 Git SSH 세션을 처리하고 인증된 키 목록을 수정합니다. 더 많은 정보는 GitLab Shell 문서를 참조하세요.
gitlab-sshd
생성의 이유에 대해 알아보려면 블로그 게시물 왜 자사 SSHD 솔루션을 구현했는지를 읽어보세요.