Папка данных GitLab на общем ресурсе samba

Мне нужна помощь в настройке общего ресурса samba в качестве папки данных gitlab.

Я пробовал следующие предложения здесь:

измените каталог данных gitlab, чтобы хранить репозитории в другом месте

и официальная документация безрезультатна. Вот что я сделал:

1] Я установил gitlab 7.6.2 с помощью пакета omnibus, а также проверил, что все работает, используя предварительно настроенную папку /var/opt/gitlab/git-data.

2] Я смонтировал свой общий ресурс samba (расположенный на сервере NAS) в /media/gitlab-data, изменив файл /etc/fstab.

Вот строка fstab:

//xxx.xxx.x.xx/test /media/gitlab-data cifs username=xxx,password=xxx 0 0

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

Исходные разрешения

3] Я изменил конфигурацию gitlab в /etc/gitlab/gitlab.rb, изменив параметр gitlab_user_data на

/media/gitlab-данные

Затем я продолжил

sudo gitlab-ctl перенастроить

В конце сценария перенастройки привилегии моего общего ресурса:

Разрешения после перенастройки

и начальная папка gitlab-satellites и repositories успешно создана.

Теперь веб-интерфейс gitlab полностью работает, но я не могу создать новый проект (или добавить нового пользователя). Как только я нажимаю «Создать проект», веб-интерфейс возвращается со следующей ошибкой:

Не удалось создать репозиторий

Я совершенно уверен, что это проблема с разрешением, но я не знаю, как это решить. Я также добавляю 2 странные вещи:

1] Мне не удалось найти в журналах ошибок, связанных с этой операцией. Единственное связанное сообщение, которое я вижу, находится в журнале gitlab-shell:

I, [2015-01-13T14:27:50.408394 #1658] ИНФОРМАЦИЯ -- : Добавление проекта root/test.git в .

2] Папка test.git внутри /media/gitlab-data действительно создана, но выполнение ls -la в моей смонтированной папке возвращает следующие разрешения:

 drwxrwxrwx 3 1024 users 0 Jan 13 14:27 .
 drwxrwxrwx 3 git  git   0 Jan 13 14:27 ..
 drwxrwxrwx 7 1024 users 0 Jan 13 14:27 test.git

Вероятно, что-то пытается создать chown в этой папке, и эта команда в конечном итоге терпит неудачу. Я также не знаю, кто является владельцем этого 1024 uid.

Любая помощь приветствуется. Заранее спасибо!


person Carlo Pastorino    schedule 13.01.2015    source источник
comment
Я столкнулся с той же проблемой. Вам когда-нибудь удавалось заставить это работать?   -  person informer2000    schedule 23.05.2015


Ответы (1)


Это потому, что он не может создать символическую ссылку на файл:

/opt/gitlab/embedded/lib/ruby/2.1.0/fileutils.rb:355:in `symlink': Operation not supported @ sys_fail2 - (/opt/gitlab/embedded/service/gitlab-shell/hooks, /<path>/gitlab/git-data/repositories/root/repo.git/hooks) (Errno::EOPNOTSUPP)
    from /opt/gitlab/embedded/lib/ruby/2.1.0/fileutils.rb:355:in `block in ln_s'
    from /opt/gitlab/embedded/lib/ruby/2.1.0/fileutils.rb:1595:in `fu_each_src_dest0'
    from /opt/gitlab/embedded/lib/ruby/2.1.0/fileutils.rb:353:in `ln_s'
    from /opt/gitlab/embedded/service/gitlab-shell/lib/gitlab_projects.rb:28:in `create_hooks'
    from /opt/gitlab/embedded/service/gitlab-shell/lib/gitlab_projects.rb:99:in `add_project'
    from /opt/gitlab/embedded/service/gitlab-shell/lib/gitlab_projects.rb:48:in `exec'
    from /opt/gitlab/embedded/service/gitlab-shell/bin/gitlab-projects:31:in `<main>'

Я только что закомментировал строку 28 в /opt/gitlab/embedded/service/gitlab-shell/lib/gitlab_projects.rb и смог создать проект.

person frmdstryr    schedule 28.05.2015