Skip to content


Subversion checkout URL

You can clone with
Download ZIP
Gitolite Redmine Integration
Branch: master

require redmine, principal and user

latest commit aaf852cecc
Arkadiusz Hiler authored




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



  • net-ssh

  • lockfile

  • gitolite (works with 1.8.7)


  • Gitolite server

  • accessible Git executable

  • curl


  1. Install Redmine and put this plugin in vendor/plugins directory and migrate

database (plugins)

$ cd redmine/plugins
$ git clone git:// redmine_gitolite
$ cd ..
$ RAILS_ENV=production rake db:migrate_plugins
  1. User running redmine (his key must be named named “redmine”) must have RW+ access to gitolite-admin (assuming that you have gitolite installed).

  2. Make sure that redmine user has gitolite server in his known_host list

$ sudo su - redmine
$ ssh gitolite.server
* [accept key]
  1. Configure email and name of git user for your redmine account

$ git config --global ""
$ git config --global "Redmine Gitolite"
  1. 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
  1. 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]

Pro Tips:

  • 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.

Found bug?

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.

Something went wrong with that request. Please try again.