2016-01-13 8 views
0

Возможно ли, что все репозитории на каком-то локальном сервере, а также просмотреть его с помощью Gitlab (размещен на другом локальном сервере)?Импорт внешних репозиториев в Gitlab с помощью sshfs

Я использую Gitlab v8.3.3. и у меня есть следующая ситуация:
- Я все мои репозиториев хранятся на локальном сервере, скажем: 192.168.5.5 на /git
- У меня тоже есть локальная виртуальная машина, которая хозяйничает Gitlab, по адресу: 192.168.5.6
- Я установил мой местный мерзавец сервер в каталоге ГИТА-данных (это где репозитории хранятся), выполнив:
sshfs [email protected]:/git /var/opt/gitlab/git-data/repositories/server-group

сервер-группа является пустым каталогом, созданный Gitlab, когда я создал новую группу с тем же именем.

Теперь я хотел бы иметь возможность просматривать репозитории, установленные таким образом через Gitlab.
Возможно ли это?

Я считаю, что это должно быть, но для этого нужна дополнительная настройка?
Конечно, просто: gitlab-ctl reconfigure или gitlab-ctl restart не помогает, и группа Gitlab server-group имеет 0 проектов, хотя в ее каталоге у меня есть действительный «repos.git».

ответ

1

Я решил эту проблему:
1. создание пустых хранилищ с тем же именем, используя GitLab API

curl -k --header "PRIVATE-TOKEN: <your_private_token>" -H "Content-Type: application/json" -d '{"name":"<name_here>","path":"<the_same_name_here>","visibility_level":"10","namespace_id":"<id_of_my_group>"}' "https://192.168.5.6/api/v3/projects"


2. монтаж наших хранилищ, как описано в How can I use GitLab on one server and store all of the repositories on another? (включая изменения прав доступа - см. ответ)

1

Вам необходимо создать проекты в GitLab, прежде чем они появятся.

Но есть несколько соображений, GitLab ожидает, что репозитории будут голыми репозиториями, а также ожидается, что будет установлен HEAD-файл.

Мой совет - создать проекты, импортируя каждое репо с вашего сервера git. Это создаст голые репозитории со всеми вашими записями и филиалами и создаст проекты в базе данных GitLab. Затем, если вам все еще нужны репозитории на отдельном сервере, вы можете переместить созданные папки GitLab на другой сервер, а затем смонтировать их, как вы пытались.

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

  • размонтирования вашего GIT репозиторий, что у вас есть настройка
  • Создание пустых проектов для каждого из вашего РЕПО, таким образом, что их путь будет соответствовать вашим текущим репозиториям.
  • перемонтируйте свои репозитории git в место, где создаются пустые репозитории.