Для работы с 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