Programing

데이터 디렉토리 gitlab을 변경하여 다른 곳에 저장소를 저장하십시오.

lottogame 2020. 12. 29. 06:41
반응형

데이터 디렉토리 gitlab을 변경하여 다른 곳에 저장소를 저장하십시오.


내 기본 디스크가 내 gitlab 설치를 위해 꽉 찼습니다. 리포지토리와 데이터를 다른 폴더로 이동하고 다가오는 푸시 데이터가 해당 디렉터리로 전송되는지 확인할 수 있습니까?

나는 gitlab을 중지하고 전체 폴더를 복사하려고 시도했지만 아무 소용이 없습니다. 추신-저는 IT 담당자가 아닙니다.이 문제에서 어떻게 벗어날 수 있는지 알아보기 위해 참여하고 있습니다. 그러니 대답 할 때 자세하게 말씀 해주세요.


사람들이 여전히 이것을 참조하는 경우 업데이트합니다. GitLab 문서에서 :

기본적으로 omnibus-gitlab은 Git 저장소 데이터를 /var/opt/gitlab/git-data. 리포지토리는 하위 폴더에 저장됩니다 repositories. git-data에 다음 행을 추가하여 상위 디렉토리 의 위치를 ​​변경할 수 있습니다 /etc/gitlab/gitlab.rb.

git_data_dirs({"default" => "/mnt/nas/git-data"})

GitLab 8.10부터는 다음 줄을 /etc/gitlab/gitlab.rb대신 추가하여 둘 이상의 git 데이터 디렉터리를 추가 할 수도 있습니다 .

git_data_dirs({
  "default" => "/var/opt/gitlab/git-data",
  "alternative" => "/mnt/nas/git-data"
})

대상 디렉토리와 하위 경로는 심볼릭 링크가 아니어야합니다.

sudo gitlab-ctl reconfigure변경 사항을 적용하려면 실행하십시오 .

기존 Git 저장소가 이미있는 경우 /var/opt/gitlab/git-data다음과 같이 새 위치로 이동할 수 있습니다.

# Prevent users from writing to the repositories while you move them.
sudo gitlab-ctl stop

# Note there is _no_ slash behind 'repositories', but there _is_ a
# slash behind 'git-data'.
sudo rsync -av /var/opt/gitlab/git-data/repositories /mnt/nas/git-data/

# Fix permissions if necessary
sudo gitlab-ctl reconfigure

# Double-check directory layout in /mnt/nas/git-data. Expected output:
# gitlab-satellites  repositories
sudo ls /mnt/nas/git-data/

# Done! Start GitLab and verify that you can browse through the repositories in
# the web interface.
sudo gitlab-ctl start

버전> 7.14.1의 신규 설치를위한 훨씬 더 쉬운 솔루션 :

gitlab.rb 구성 파일을 엽니 다.

sudo nano /etc/gitlab/gitlab.rb

를 검색 git_data_dir하고 줄의 주석 처리를 제거하고 여기에 디렉토리를 설정하십시오.

git_data_dir "/storage/data/gitlab/git-data"

파일을 저장하고 Gitlab을 재구성합니다.

sudo gitlab-ctl reconfigure

방금 내 gitlab 저장소 폴더를 한 디렉토리에서 다른 디렉토리로 옮겼습니다. 누군가에게 유용 할 수 있습니다 (조용한 시간에이 작업을 빨리 수행하거나 미리 gitlab을 중지하십시오!).

표준 설치가 있다고 가정하면 단계는 다음과 같습니다.

  • 저장소에 대한 새 폴더를 루트로 만들고 소유자를 git 사용자로 변경합니다.
  • 이전 저장소 폴더 내용을 새 홈으로 복사 (아카이브, 재귀 옵션 사용) cp -ar SOURCE DESTINATION
  • 새 저장소 경로로 gitlab 구성 파일 gitlab-shell 구성 파일을 편집하십시오.
  • gitlab 다시 시작 sudo /etc/init.d/gitlab restart

cannot find repo위의 단계를 실행 한 후 GitLab 에서 오류 가 발생하는 경우 . 이 명령을 실행하십시오.

gitlab-rake cache:clear RAILS_ENV=production

경로가 올바른 경우 문제가 해결됩니다.


내 경우에는, 난에서 저장소를 이동하는 데 필요한 default스토리지 storage1
프로젝트의 일반 설정을로드 할 경우, 예를 들어, 프로젝트 번호를 표시 37:

sudo gitlab-rails console
irb(main):012:0> p37 = Project.find(37)
irb(main):009:0> p37.repository_storage
=> "default"
irb(main):010:0> p37.repository_storage = 'storage1'
irb(main):011:0> p37.save
=> true
irb(main):012:0>  # <ctrl>+d to send EOF and exit

캐시를 지우는 것도 좋은 생각입니다.

gitlab-rake cache:clear RAILS_ENV=production


다음과 같은 작은 구성을 추가해야합니다.

git_data_dirs({
    "default" => {
        "path" => "/srv/gitlab/git-data"
    }
})

rsync -av /var/opt/gitlab/git-data/* /srv/gitlab/git-data/.
chown -R git:git /srv/gitlab/git-data/
sudo gitlab-ctl reconfigure

끝난.

ReferenceURL : https://stackoverflow.com/questions/19902417/change-the-data-directory-gitlab-to-store-repos-elsewhere

반응형