InfoGrab DocsInfoGrab Docs

소스 코드 - Gitaly 터치 포인트

GitLab의 소스 코드 컴포넌트에서 Gitaly와의 연동 방식, RPC 접근 구조, Commit 모델에 대해 설명합니다.

RPC # Gitaly는 git 바이너리를 감싸는 래퍼입니다. Go Remote Procedure Call(RPC)을 사용하여 git 리포지터리가 저장된 파일 시스템에 대한 관리형 접근을 제공합니다. 그 외 기능으로는 접근 최적화, 캐시, 파일 시스템에 대한 페이지네이션 형태가 있습니다. Gitaly 기여자를 위한 초보자 가이드 는 Gitaly 업데이트에 초점을 맞추고 있으며, Gitaly 코드를 이해하는 데 유용한 많은 인사이트를 제공합니다. GitLab의 다른 부분에서 Gitaly로의 모든 접근은 Create: Source Code 엔드포인트를 통해 이루어집니다. Commit 모델 # Gitaly에 대한 호출이 이루어진 후, Git commit 정보는 메모리에 저장됩니다. 이 정보는 Ruby Commit 모델 로 래핑되며, 이 모델은 Gitlab::Git::Commit 의 래퍼입니다. Commit 모델은 ActiveRecord 객체처럼 동작하지만, PostgreSQL 백엔드를 가지지 않습니다. 대신, Gitaly RPC로 다시 매핑됩니다.