Skip to content

jawilson/redmine-gitolite

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

redmine-gitolite

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

Requirements:

Gems:

  • net-ssh

  • lockfile

  • gitolite (works with 1.8.7)

Other:

  • Gitolite server

  • accessible Git executable

  • curl

Setup:

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

database (plugins)

$ cd redmine/vendor/plugins
$ git clone git://github.com/ivyl/redmine-gitolite.git
$ 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 user.email "redmine@gitolite.org"
$ git config --global user.name "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]
$ vim .gitolite.rc
* [add "hooks\.redmine_gitolite\..*" to the GIT_CONFIG_KEYS setting]
$ 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.

About

Gitolite Redmine Integration

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Ruby 100.0%