Git

Git Server mit Gitolite auf einen Ubuntu Server installieren

Dies wird eine kleine Anleitung wie man die Gitolite Benutzerverwaltung für Git Repositories in Betrieb nimmt.

SERVER:

Als erstes müssen wir Git und Gitolite auf dem Server installieren.

$ sudo apt-get update
$ sudo apt-get install git-core gitolite
$ sudo adduser --system --group --shell /bin/bash --disabled-password git

ADMIN CLIENT:

Dann müssen wir Public/Private SSH Keys auf einen Client generieren mit den wir das Repo verwalten möchten.

$ ssh-keygen -t rsa
$ scp ~/.ssh/id_rsa.pub regular_username@git_server_IP_address:/tmp/git-admin.pub

$ mkdir ~/git-admin-keys
$ cp ~/.ssh/id_rsa ~/git-admin-keys
$ cp ~/.ssh/id_rsa.pub ~/git-admin-keys

SERVER:

Dieser Key wird nun auf den Server installiert.

$ sudo su - git
$ gl-setup /tmp/git-admin.pub

ADMIN CLIENT:

Gitolite wird auch via einem eigenen Repository konfiguriert und eingestellt. Dieses kann man mit folgenden Befehl klonen.

$ git clone git@git_server_IP_address:gitolite-admin ~/gitolite-admin

Mit folgenden Befehl können wir Nutzer im Gitolite Repo anlegen

$ cp /path/to/john's/public/key.pub ~/gitolite-admin/keydir/john.pub
$ git add ~/gitolite-admin/keydir/john.pub
$ git commit -a -m "New user John added"

Nun könnnen wir die Hauptkonfigurationsdatei erstellen.

$ nano ~/gitolite-admin/conf/gitolite.conf

Folgende Standard Datei von mir ist sinnvoll und sollte selbsterklärend sein.

	gitolite.conf:

		################################################################################
		# Gruppen-Makros:                                                              #
		# Per Leerzeichen getrennte Usernamen; es dürfen nur solche User eingetragen   #
		# werden, die mittels ihrer im 'keydir'-Verzeichnis abgelegten public ssh keys #
		# eingerichtet worden sind.                                                    #
		#                                                                              #
		#    z.B.: @group_name = user1 user2 user3                                     #
		#                                                                              #
		################################################################################

		@magunait-admins       = user1
		@magunait-engineers    = user4 user5
		@magunait-tools        = usertoolchain


		###############################################################################
		# Admin Repository:                                                           #
		# Mit diesem Repository werden Benutzer und Repositories verwaltet.           #
		###############################################################################

		# Admin-Repository
		repo gitolite-admin
		    RW     = @magunait-admins
		    R      = @magunait-engineers

		###############################################################################
		# MagunaIT-Repositories:                                                      #
		# Diese Repositories werden vom MagunaIT-Team verwaltet.                      #
		###############################################################################

		# Masterbrain-Repositories
		repo repo1
		    RW = @magunait-engineers @magunait-tools

		repo repo2 repo3
		    RW = @magunait-engineers @magunait-tools

Nun kann man die Änderungen mit folgenden Befehlen auf den Git Server hochladen.

$ git commit -a -m "Add user credentials"

$ git push

DEVELOPER CLIENT:

Folgende Befehle um den Client Standard Werte des Benutzer(s) zu übermitteln ist ratsam.

  • Unix (Linux, Mac OS X etc.)
  •   $ git config --global core.editor your_editor_choice
      $ git config --global user.name "your_name_here"
      $ git config --global user.email "your_email@address.com"
    

    Dies ist eine kleine Anleitung wie ich bei einigen Kunden Git einfach und schnell installiert habe.

    Standard

    Schreibe einen Kommentar

    Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert