Server Installation/gitolite

Aus Opennet
Wechseln zu: Navigation, Suche
Team
32px-opennet logo.png
Server Installation/gitolite
Treffen: unregelmäßig
Opennet GIT
Mitglieder:
Mathias M., Lars
Kontakt:
admin@opennet-initiative.de


Gitolite ist ein git-basiertes Verwaltungswerkzeug für git-Repositories und ihre Zugangsrechte. Die git-Repository-Verwaltung ist Teil der Opennet-Dienste für die Softwareentwicklung.

Installation

Anlegen der Gitolite Umgebung (auf Server):

adduser --disabled-password git
  Full Name [git servic]: git service user
usermod -a -G git www-data
cp /etc/skel/ /home/git/
mkdir /home/git/.ssh/
chown -R git:git /home/git/

Installation per APT (auf Server):

apt-get install gitolite3
dpkg-reconfigure gitolite3
  System username for gitolite: git
  Repository path: /home/git/repositories
  Admin User: <gitolite-admin-sshuser.pub>
chmod g+rx /var/git/repositories

Zuvor muss der eigenen Public SSH Key vom Client als <gitolite-admin-sshuser.pub> auf dem Server abgelegt sein.

Konfiguration

Konfiguration der globalen Gitolite Parameter (am Server):

vi .gitolite.rc
  UMASK                           =>  0027,

Konfiguration der Gitolite Umgebung (am Client):

git clone git@<servername>:gitolite-admin
cd gitolite-admin/
vi conf/gitolite.conf
... Anpassen der Config ...
git add conf
git add keydir
git commit -m "<commit-message>"
git push

Betrieb

  • Gitolite Status abfragen / Zugriffsrechte prüfen: ssh git@<servername> info
  • Neues Repository anlegen: in conf/gitolite.conf anlegen und anschliessend Commit + Push zum Server (alles weitere automatisch - Hooks für Trac & Co manuell!)
  • Zugriffsrechte hinzufügen: in keydir/<username.pub> SSH Public Key ablegen und via <username> in conf/gitolite.conf Berechtgungen setzen, Commit + Push

Hinweis - zusätzliche Multikeys für Nutzer in Unterverzeichnissen "multikeyX" einordnen, siehe auch http://gitolite.com/gitolite/users.html#multi-key

Einbindung in Trac siehe Server Installation/trac.

Meine Werkzeuge
Namensräume

Varianten
Aktionen
Start
Opennet
Kommunikation
Karten
Werkzeuge