Появилась необходимость добавить git репозиторий в Redmine проект
на домашнем сервере. Для управления git репозиториями использую
Gitolite. Как оказалось по-умолчанию Gitolite запрещает доступ
всем кроме пользователя, которым он обслуживается. В моем случае доступ есть
только у пользователя git. Redmine же запускает пользователь redmine.
В общем главная загвоздка — найти umask опцию в настройках Gitolite.
Решение со Stackoverflow:
- Добавляем в Redmine путь к необходимому репозиторию. Например:
/home/git/repositories/repo.git. -
Добавить пользователя, который запускает веб-сервер с Redmine в
git-группу:usermod -a -G git redmine -
В файле
.gitolite.rc(находится в домашней директорииgit) поменять значениеUMASKс0077на0027. Теперь новые файлы Gitolite будет создавать с правами на чтение для группыgit. -
Также необходимо поменять права доступа для всех существующих репозиториев. В директории с репозиториями запускаем следующее:
chmod -R g+rX
Есть еще варианты решения этого вопроса?
2 комментария:
> Есть еще варианты решения этого вопроса?
тот, что применяется в случае не-локального репозитория:
1. bare-clone.
2. периодически git fetch
2alexander barakin
Да видимо тоже вариант. Только лучше не fetch на сервере с redmine делать, а push на локальной машине. Но в этому случае получается 2 push'а (в gitolite и в дополнительный репозиторий). Видимо это добро можно автоматизировать через git hooks (признаюсь не разбирался в этом вопросе). Но это будет как-то сильно извращено мне кажется.
Отправить комментарий