CURRENT HEAD VERSION WORKS WITH TRUNK REDMINE
This is Redmine Gitolite Hook combined with redmine-gitolite
A Redmine plugin which manages your gitolite configuration based on your projects and user memberships in Redmine.
Provides Gitolite hook, for automaticaly pulling changes to local clone of repository. You don’t need to any access to your, this plugin will create local clone and keep it up to date.
Includes Public Key management views (extracted from plan.io).
-
net-ssh
-
lockfile
-
gitolite (works with 1.8.7)
-
Gitolite server
-
accessible Git executable
-
curl
-
Install Redmine and put this plugin in vendor/plugins directory and migrate
database (plugins)
$ cd redmine/plugins $ git clone git://github.com/ivyl/redmine-gitolite.git redmine_gitolite $ cd .. $ RAILS_ENV=production rake db:migrate_plugins
-
User running redmine (his key must be named named “redmine”) must have RW+ access to gitolite-admin (assuming that you have gitolite installed).
-
Make sure that redmine user has gitolite server in his known_host list
$ sudo su - redmine $ ssh gitolite.server * [accept key]
-
Configure email and name of git user for your redmine account
$ git config --global user.email "redmine@gitolite.org" $ git config --global user.name "Redmine Gitolite"
-
Add post-receive hook to common gitolite hooks (examples in contrib dir) and configure it
(host, api key, etc, see sources)
$ sudo su - gitolite #login on gitolite user $ cat > .gitolite/hooks/common/post-receive * [paste hook] $ vim .gitolite/hooks/common/post-receive * [enable WS for repository management in administration->settings->repositories] * [copy generated API key] * [configure, in complex hook you can do this by git config options] $ chmod +x .gitolite/hooks/common/post-receive $ gl-setup
-
Configure plugin in redmine settings
* [Adminitration -> Plugins -> Redmine Gitolite] * [Gitolite URL should be set to your gitolite-admin git repository] * [Base path should point directory which will hold local copies (must exist) * [Set developer and ro urls as in given examples (just slightly modify them)] * [%{name} will be replaced with your repository identifier]
-
You should manage your keys only from Redmine to avoid conflicts.
-
Need new bare git repo? Create it via Redmine, disable other features.
-
This is most convenient way to manage keys by your user.
Open new issue and complain. You can also fix it and sent pull request. This plugin is in active usage in current, edge Redmine. Any suggestions are welcome.