InfoGrab DocsInfoGrab Docs

머지 리퀘스트 diff 스토리지

GitLab 인스턴스에서 머지 리퀘스트 diff를 위한 외부 스토리지를 구성합니다.

머지 리퀘스트 diff는 머지 리퀘스트에 연결된 diff를 크기 제한을 두고 복사해 둔 사본입니다. 머지 리퀘스트를 볼 때는 성능 최적화를 위해 가능한 한 이 사본에서 diff를 가져옵니다. 기본적으로 GitLab은 머지 리퀘스트 diff를 데이터베이스의 merge_request_diff_files 테이블에 저장합니다. 규모가 큰 설치 환경에서는 이 테이블이 지나치게 커질 수 있으며, 그럴 때는 외부 스토리지로 전환합니다. 머지 리퀘스트 diff는 다음 방식으로 저장할 수 있습니다. 전부 디스크에 저장합니다. 전부 오브젝트 스토리지에 저장합니다. 현재 diff는 데이터베이스에, 오래된 diff는 오브젝트 스토리지에 저장합니다. 외부 스토리지 사용 # Linux package (Omnibus) Self-compiled (source) /etc/gitlab/gitlab.rb 를 편집해 다음 줄을 추가합니다. gitlab_rails[ 'external_diffs_enabled' ] = true 외부 diff는 /var/opt/gitlab/gitlab-rails/shared/external-diffs 에 저장됩니다. 경로를 변경하려면, 예를 들어 /mnt/storage/external-diffs 로 변경하려면 /etc/gitlab/gitlab.rb 를 편집해 다음 줄을 추가합니다. gitlab_rails[ 'external_diffs_storage_path' ] = "/mnt/storage/external-diffs" 파일을 저장하고 변경 사항을 적용하려면 GitLab을 재구성합니다 . 그러면 GitLab 이 기존 머지 리퀘스트 diff를 외부 스토리지로 마이그레이션합니다. /home/git/gitlab/config/gitlab.yml 을 편집해 다음 줄을 추가하거나 수정합니다. external_diffs: enabled: true 외부 diff는 /home/git/gitlab/shared/external-diffs 에 저장됩니다. 경로를 변경하려면, 예를 들어 /mnt/storage/external-diffs 로 변경하려면 /home/git/gitlab/config/gitlab.yml 을 편집해 다음 줄을 추가하거나 수정합니다. external_diffs: enabled: true storage_path: /mnt/storage/external-diffs 파일을 저장하고 변경 사항을 적용하려면 GitLab을 재시작합니다 . 그러면 GitLab 이 기존 머지 리퀘스트 diff를 외부 스토리지로 마이그레이션합니다. 오브젝트 스토리지 사용 # Warning 오브젝트 스토리지로의 마이그레이션은 되돌릴 수 없습니다. 외부 diff를 디스크에 저장하는 대신 AWS S3 같은 오브젝트 스토어를 사용하는 편이 좋습니다. 이 구성은 미리 구성된 유효한 AWS 자격 증명을 전제로 합니다. Note 통합 오브젝트 스토리지 설정에서 외부 diff 용 오브젝트 스토리지를 구성하더라도 머지 리퀘스트 diff의 외부 스토리지가 자동으로 활성화되지는 않습니다. exter