Giter Club home page Giter Club logo

redmine-gitolite's Introduction

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/plugins
$ git clone git://github.com/ivyl/redmine-gitolite.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 user.email "[email protected]"
$ 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]
$ 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.

redmine-gitolite's People

Contributors

ivyl avatar ericpaulbishop avatar untoldwind avatar dcramer avatar halfhalo avatar framallo avatar croemmich avatar ebastien avatar sankroh avatar ciaranj avatar xdissent avatar mnencia avatar bgehrich avatar yeah avatar jhogendorn avatar allen13 avatar johnae avatar jorgebg avatar rocket-rentals avatar sroze avatar slotos avatar gierschv avatar takahashim avatar

Watchers

 avatar James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.