【자주 학습의 기록 part2】Git LFS의 실험

2997 단어 GitLFSGitLab

Git LFS



전회 Git LFS에 대해 학습했습니다만, 시험해 보고 싶은 일을 생각해 왔기 때문에 해 보았습니다.

LFS 관리 대상 파일이 저장된 디렉토리를 이동한 경우



LFS로 관리되는 파일의 엔티티는 프로젝트 디렉토리와 다른 위치에 저장됩니다.
이 실체 파일이 저장된 디렉토리를 예를 들어 Git의 마이그레이션 작업시의 마이그레이션 누출이 발생해 버린 경우 등에 의해 참조할 수 없게 된 경우 어떻게 될지 시험해 보았습니다.
먼저 아래 프로젝트에 저장된 LFS 관리 대상 PNG 파일을 클릭합니다.

PNG 파일의 내용은 다음과 같습니다.
이전 기사에서 사용한 이미지 파일입니다.

그런 다음 서버에서 LFS 관리 실제 파일의 위치를 ​​확인합니다.
위치는 환경에 따라 다를 수 있지만 제 경우에는 기본값으로 변경하지 않았으므로 다음 위치에 저장됩니다.
/var/opt/gitlab/gitlab-rails/shared/lfs-objects

내용은 이렇게 되었습니다.
[root@localhost ~]# ll /var/opt/gitlab/gitlab-rails/shared/lfs-objects/
合計 0
drwxr-xr-x. 3 git git 16 11月 29 19:38 7e
drwxr-xr-x. 3 git git 16 12月  6 15:41 94
drwx------. 5 git git 46 11月 29 19:38 tmp

위의 lfs-objects 디렉토리는 GitLab 구성 파일 gitlab.rb의 lfs_storage_path 섹션에서 참조됩니다.
해당 설정을 표시하려면 다음 명령을 실행합니다.
cat /etc/gitlab/gitlab.rb | grep lfs_storage_path

위의 명령으로 표시된 LFS 관리 대상 파일의 실제 파일 저장 대상 디렉토리 이름 lfs-objects를 일시적으로 아래와 같이 lfs-obj라는 이름으로 변경해 보았습니다.
mv /var/opt/gitlab/gitlab-rails/shared/lfs-objects /var/opt/gitlab/gitlab-rails/shared/lfs-obj

이 상태에서 GitLab 프로젝트 화면에서 대상 png 파일을 열어보십시오.
그러면 아래와 같이 파일명 밖에 표시되어 있지 않은 상태가 되었습니다.
예상 404 오류 당 표시 될 것이라고 생각했지만 특히 오류 화면이되지 않고 손상된 파일? 로 표시되는 것 같습니다.

이 상태로 복제해 보았습니다.
그러면 아래와 같이 png 파일을 다운로드할 때 오류가 표시되어 복제에 실패했습니다.

LFS 디렉토리가 없기 때문에 화가 났습니까?
일단 이전에 이름을 바꾼 디렉토리 이름을 되돌려 보겠습니다.
mv /var/opt/gitlab/gitlab-rails/shared/lfs-obj /var/opt/gitlab/gitlab-rails/shared/lfs-objects

위의 명령을 실행 한 후 다시 GitLab의 프로젝트에서 png 파일을 열어 보았는데 성공적으로 이미지가 표시되었습니다.
특히 외형에 변화는 보이지 않지만, 다음은 lfs-objects 디렉토리명을 되돌린 후의 화면이 됩니다.

그런 다음 Git Bash에서 다시 복제를 시도합니다.
이번에는 특히 오류없이 완료되었습니다.

이상으로 실험은 종료입니다.
다음에 아직 검토 중입니다.

좋은 웹페이지 즐겨찾기