Изменить каталог данных gitlab для хранения репозиториев в другом месте
мой основной диск заполнен для моей установки gitlab, возможно ли переместить репозитории и их данные в какую-либо другую папку и убедиться, что предстоящие push-данные отправляются в эти каталоги?
Я попытался остановить gitlab и скопировать всю папку, но безрезультатно.
PS - Я не ИТ-парень, я просто пишу, чтобы посмотреть, как мы можем выйти из этой проблемы; поэтому, пожалуйста, будьте аккуратны при ответе.
Ответы
Ответ 1
Просто обновление в случае, если люди все еще ссылаются на это. Из документации 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 вы также можете добавить несколько данных 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
Ответ 2
Значительное облегчение решения для новых установок с версией > 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
Ответ 3
Я просто переместил папку с репозиториями gitlab из одной директории в другую, может быть полезен для кого-то (сделайте это быстро в спокойное время или остановите gitlab заранее!)
Предполагая, что у вас стандартная установка, выполните следующие шаги:
- Создайте новую папку для репозиториев как root и измените владельца на пользователя git
- Скопировать (с архивом, рекурсивные параметры) содержимое старой папки репо в новый дом
cp -ar SOURCE DESTINATION
- Отредактируйте конфигурационный файл gitlab и файлы конфигурации gitlab-shell с новым пути репо
- Перезапустить gitlab
sudo /etc/init.d/gitlab restart
Ответ 4
Если вы получаете ошибку "не можете найти репо" в gitlab после выполнения вышеуказанных шагов. Запустите эту команду.
gitlab-rake cache: clear RAILS_ENV = production
Это должно устранить проблему, если ваш путь верен.