Появилась необходимость добавить 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 (признаюсь не разбирался в этом вопросе). Но это будет как-то сильно извращено мне кажется.
Отправить комментарий