Troubleshooting Gitaly
Gitaly 오류를 해결하기 위한 다양한 디버깅 방법과 일반적인 문제 해결 가이드를 제공합니다.
다음 절에서는 Gitaly 오류에 대한 해결 방법을 제시합니다. Gitaly 타임아웃 설정과 gitaly/current 파일 파싱 에 관한 안내도 함께 참고합니다. 사전 요구 사항 # 관리자 액세스 권한이 있어야 합니다. 독립형 Gitaly 서버를 사용할 때 버전 확인 # 독립형 Gitaly 서버를 사용할 때는 완전한 호환성을 확보하기 위해 해당 서버가 GitLab과 같은 버전인지 확인해야 합니다. 오른쪽 위에서 Admin 을 선택합니다. 왼쪽 사이드바에서 Overview > Gitaly servers 를 선택합니다. 모든 Gitaly 서버가 최신 상태로 표시되는지 확인합니다. 스토리지 리소스 세부 정보 확인 # Rails 콘솔 에서 다음 명령을 실행하면 Gitaly 스토리지의 사용 가능 공간과 사용 중인 공간을 확인할 수 있습니다. Gitlab::GitalyClient::ServerService .new( "default" ).storage_disk_statistics # For Gitaly Cluster (Praefect) Gitlab::GitalyClient::ServerService .new( "<storage name>" ).disk_statistics gitaly-debug 사용 # gitaly-debug 명령은 Gitaly와 Git 성능을 위한 "프로덕션 디버깅" 도구를 제공합니다. 프로덕션 엔지니어와 지원 엔지니어가 Gitaly 성능 문제를 조사하는 데 도움을 주기 위한 것입니다. 지원되는 하위 명령 목록을 확인하려면 다음을 실행해 gitaly-debug 의 도움말 페이지를 봅니다. gitaly-debug -h 문제 해결에 Git이 필요할 때 gitaly git 사용 # 디버깅이나 테스트 목적으로 Gitaly와 동일한 Git 실행 환경에서 Git 명령을 실행하려면 gitaly git 을 사용합니다. 버전 호환성을 보장하려면 gitaly git 이 권장되는 방법입니다. gitaly git 은 모든 인수를 하위 Git 호출로 전달하며 Git이 지원하는 모든 형태의 입력을 지원합니다. gitaly git 을 사용하려면 다음을 실행합니다. sudo -u git -- /opt/gitlab/embedded/bin/gitaly git <git-command> 예를 들어 리포지터리의 작업 디렉터리에서 Linux 패키지 인스턴스의 Gitaly를 통해 git ls-tree 를 실행하려면 다음과 같이 합니다. sudo -u git -- /opt/gitlab/embedded/bin/gitaly git ls-tree --name-status HEAD 커밋, 푸시, 클론이 401을 반환하는 경우 # remote: GitLab: 401 Unauthorized gitlab-secrets.json 파일을 GitLab 애플리케이션 노드와 동기화해야 합니다. 리포지터리 페이지의 500 및 fetching folder content 오류 # Fetching folder content 오류와, 경우에 따라 발생하는 500 오류는 GitLab과