Назад | Перейти на главную страницу

Как я могу поместить каталог данных gitlab на другой диск?

В моей установке gitlab не хватает места. Я хочу переместить репозитории пользователя на другой диск. Я не могу найти никаких пошаговых руководств или хороших сообщений на форуме об этом.

Я пытаюсь переехать /opt/gitlab/apps/gitlab/repositories на другой диск, а затем создать символическую ссылку с исходного имени папки на новое. Это работало, поскольку позволяло мне читать данные в репозиториях, но не удалось создать новое репо при попытке нажать на главную ветку (git push -u origin master), заявив, что у меня нет разрешения на передачу в мастеринг. Когда я вернул папку вместо символической ссылки, все вернулось к работе, как ожидалось.

Есть ли лучший / правильный способ переместить репозитории в другое место и на другой диск в системе?

Кажется, что у нового родительского каталога на новом устройстве неправильные разрешения. Проверьте владельца, группу и разрешения родительского каталога всех репозиториев в старом и новом расположении.

Кроме того, если это действительно вызвано символической ссылкой (в чем я сомневаюсь), вы можете использовать mount --bind вместо символической ссылки для повторной привязки каталога к новому диску.

предполагая, что вы настроили pki / неинтерактивную аутентификацию с помощью github (т.е. загрузили соответствующий открытый ключ с аутентификацией, чтобы при запуске git pull ваш закрытый ключ ~ .ssh / id_dsa или ~ ..ssh / is_rsa читался для аутентификации).

проблема, скорее всего, заключается в том, что соответствующий закрытый ключ отсутствует на новом устройстве в:

пользователь @ хост: .ssh / id_dsa

убедитесь, что ваш закрытый ключ вставлен в это место, uid правильный, а chmod 0400 он или не будет работать.

РЕДАКТИРОВАТЬ:

поэтому, как только ваш открытый ключ будет добавлен в github, любой, у кого есть соответствующий закрытый ключ, сможет загрузить / изменить / удалить ваш исходный код. если он был изменен, вы можете отозвать его и добавить еще один, если у вас есть вход в систему для доступа к порталу github или доступ к электронной почте в файле с помощью github или изменить psassword / войти в портал

закрытый ключ должен храниться офлайн и зашифрован

Остановите команду разработчиков, вы собираетесь изменить конфигурацию.

Создайте каталог на своем новом диске или в месте с достаточным пространством, в моем случае, чтобы обеспечить некоторую независимость от местоположения в будущем, я буду использовать ссылку вместо абсолютного местоположения.

mkdir /drive2/repos # create a new base directory
ln -fs /drive2/repos /repos # create a link on the root
chown git:git /drive2/repos # make sure this is git friendly

теперь, используя ваш любимый редактор, измените /etc/gitlab/gitlab.rb:

git_data_dirs({
    "default" => {
        "path" => "/repos"
    }
})

тогда используйте rsync или любой другой инструмент для копирования текущего местоположения в новое. Вы можете удалить позже, когда убедитесь, что все работает.

rsync -av /var/opt/gitlab/git-data/* /repos/.  # copy keeping all
chown -R git:git /repos/                       # reconfirm the ownership
# now reconfigure GitLab to the fire the new location
gitlab-ctl  reconfigure