소스 코드 관리

소스 코드 관리 팀은 소스 코드 그룹 아래에 속하는 제품 카테고리의 모든 백엔드 측면에 대한 책임이 있습니다.

이들은 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 솔루션을 구현했는지를 읽어보세요.