2013-11-11 2 views
44

мой базовый диск заполнен для моей установки gitlab, возможно ли переместить репозитории и их данные в какую-либо другую папку и убедиться, что данные предстоящего push отправлены в эти каталоги?изменить каталог данных gitlab для хранения репозиториев в другом месте

Я попытался остановить gitlab и скопировать всю папку, но безрезультатно. PS - Я не ИТ-парень, я просто пишу, чтобы посмотреть, как мы можем выйти из этой проблемы; поэтому, пожалуйста, будьте аккуратны при ответе.

ответ

3

Я только что переехали мои gitlab хранилищ папки из одного каталога в другой, может быть полезным для кого-то (сделать это быстро в спокойное время или остановить gitlab заранее!)

Если у вас есть стандартная установка шагов являются

  • Создать новую папку для операции рЕПО как корень и изменить владельца на пользователя мерзавца
  • Copy (с архивом, рекурсивные опции) старое содержимое папки репо в свой новый дом cp -ar SOURCE DESTINATION
  • Редактировать файл конфигурации gitlab и файлы конфигурации gitlab-оболочка с новым путем репо
  • Restart gitlab sudo /etc/init.d/gitlab restart
+0

Я забыл отредактировать gitlab-shell config.yml, и мои попытки были отклонены крюком, это помогло мне понять проблему, thx! – Roberto

98

Просто обновляя в случае, если люди по-прежнему относятся к этому. Из GitLab documentation:

По умолчанию, омнибус-gitlab хранит данные репозитория Git под /var/opt/gitlab/git-data. Репозитории хранятся в подпапках repositories. Вы можете изменить местоположение родительского каталога , добавив следующую строку в /etc/gitlab/gitlab.rb.

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

Начиная с GitLab 8.10 Вы также можете добавить больше чем один Git данные каталог, добавив следующие строки в /etc/gitlab/gitlab.rb вместо.

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 
+1

см. Также https://gitlab.com/gitlab-org/omnibus-gitlab/blob/629def0a7a26e7c2326566f0758d4a27857b52a3/README.md#storing-git-data-in-an-alternative-directory –

+2

Не нужно запускать Postgres для gitlab-ctl перенастраивается на работу? – jeremiah

+0

@ Stéphane текущая ссылка: https://gitlab.com/gitlab-org/omnibus-gitlab/blob/master/doc/settings/configuration.md#storing-git-data-in-an-alternative-directory –

9

Намного проще решение для новых установок с версией> 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 
1

Если вы получаете «не может найти репо» ошибка в gitlab после выполнения вышеуказанных шагов. Запустите эту команду.

кэш gitlab-грабли: прозрачный RAILS_ENV = производство

Это должно решить проблему, если ваш Pathing правильно.

Смежные вопросы