Для работы с Git и автоматического создания репозиториев постави плагин с названием SCM Creator.
Ставился по инструкции с офф.сайта.
Единственное отличие — правил «под себя» конфиг.
Установка в моем случае выглядела таким образом.
- Создать католог, в котором будут храниться репозитории Git и вешаем на него права для пользователя, от которого запущен веб-сервер (в данном случае www-data):
mkdir /storage/git chown www-data:www-data /storage/git
2) Скачиваем сам плагин (http://projects.andriylesyuk.com/attachments/download/388/redmine_scm-0.4.2.tar.bz2) и распаковываем содержимое архива в каталог plugins там, где у нас лежит сам Redmine
/storage/redmine/plugins
- В каталоге с конфигами Redmin’a создаем файлик scm.yml и наполняем следующим содержимым:
# vim /storage/redmine/config/scm.yml
production:
deny_delete: false
auto_create: true
force_repository: true
pre_create: /usr/local/bin/pre-create.sh
post_create: /usr/local/bin/post-create.sh
pre_delete: /usr/local/bin/pre-delete.sh
post_delete: /usr/local/bin/post-delete.sh
max_repos: 0
only_creator: true
allow_add_local: true
allow_pickup: true
svn:
path: /storage/svn
svnadmin: /usr/bin/svnadmin
url: svn
git:
path: /storage/git
git: /usr/bin/git
options: --bare
url: http://fpm.vit.ua/git
update_server_info: true
git_ext: false
append: trunk
- Устанавливаем сам плагин
cd /storage/redmine rake redmine:plugins:migrate RAILS_ENV=production
- Настраиваем апач, чтобы из него можно было коммитится:
Подан конфиг для web-сервера Apache
SetEnv GIT_PROJECT_ROOT /storage/git
SetEnv GIT_HTTP_EXPORT_ALL 1
ScriptAliasMatch \
"(?x)^/git/(.*/(HEAD | \
info/refs | \
objects/(info/[^/]+ | \
[0-9a-f]{2}/[0-9a-f]{38} | \
pack/pack-[0-9a-f]{40}\.(pack|idx)) | \
git-(upload|receive)-pack))$" \
/usr/lib/git-core/git-http-backend/$1
ScriptAlias /git/ /usr/share/gitweb/gitweb.cgi/
AliasMatch ^/gitweb/$ /dev/null
<Location /git>
AuthType Basic
AuthName "Project membership authentication"
Require valid-user
PerlAccessHandler Apache::Authn::Redmine::access_handler
PerlAuthenHandler Apache::Authn::Redmine::authen_handler
RedmineDSN "DBI:Pg:database=*******************;host=127.0.0.1"
RedmineDbUser "*****************"
RedmineDbPass "*****************"
RedmineCacheCredsMax 50
RedmineGitSmartHttp yes
</Location>
-
Перезапускаем web-сервер.
-
Наслаждаемся работой с Git из Redmine
Данный плагин умеет работать с рапозиториями Subversion/Git/Mercurial/Bazaar