Author | Frank Steinberg |
Keywords | GIT gitolite gitosis |
Categories | Administrivia, Software |
ACHTUNG: Der hier beschriebene gitolite Server wird voraussichtlich Mitte 2015 abgeschaltet. Es gibt nun einen GitLab-Server: gitlab.ibr.cs.tu-bs.de. GIT Server KonzeptDas IBR betreibt einen Server, auf dem GIT Repositories gehostet werden können. Mitarbeiter haben die Möglichkeit Repositories anzulegen. Anschließend können sie die Zugriffsrechte auf andere authentisierte Personen ausweiten oder auch anonymen read-only Zugriff zulassen. Der Server ist durch die Software gitolite realisiert. IBR-spezifische Erweiterungen sorgen dafür, dass die Zugriffskontrolle durch eine Datei im Repository verwaltet werden kann. ZugriffsartenEs gibt drei Methoden, um auf die gehosteten Repositories zuzugreifen:
Zugriffskontrolle Gitolite verwaltet die Zugriffskontrolle normalerweise in einem zentralen Notifications Manchmal ist es gewünscht, dass der Server bei Änderungen Mails versendet. Dies kann durch folgende Zeile in der Datei " config notify.email = example@ibr.cs.tu-bs.de,user@example.com,... SSH Keys hinterlegen Für den authentisierten Zugriff muss der öffentliche SSH Key des Benutzers beim Server hinterlegt worden sein. Dies geschieht implizit anhand der Dateien Außerdem ist es möglich, explizit bis zu fünf Keys im LDAP (Attribut ibrSSHPubKey) zu hinterlegen. Diese Keys werden in der Regel unmittelbar nach einer Änderung innerhalb weniger Minuten vom GIT-Server übernommen. Es sollte berücksichtigt werden, dass der Server vom Key auf den User schließt. Wenn also derselbe Key für zwei Accounts hinterlegt ist (egal auf welche Weise), etwa im Falle eines Studenten, der denselben Key für seinen y-Account und für seinen regulären IBR-Account nutzt, so kann der Server nicht eindeutig einen Account zuordnen und so kann unerwartet die Zugriffskontrolle scheitern. Anlegen und Löschen von RepositoriesBeim ersten lesenden oder schreibenden Zugriff auf ein nicht existierendes Repository wird dieses automatisch von gitolite angelegt: home$ git clone git@git.ibr.cs.tu-bs.de:new-project Cloning into 'new-project'... Initialized empty Git repository in /git/new-project.git/ remote: Counting objects: 6, done. remote: Compressing objects: 100% (4/4), done. remote: Total 6 (delta 1), reused 0 (delta 0) Receiving objects: 100% (6/6), done. Resolving deltas: 100% (1/1), done. home$ cd new-project new-project$ ls -al total 16 drwxr-xr-x 3 steinb mitarb 4096 Feb 7 14:48 . drwxr-xr-x 7 steinb mitarb 4096 Feb 7 14:48 .. drwxr-xr-x 8 steinb mitarb 4096 Feb 7 14:48 .git -rw-r--r-- 1 steinb mitarb 114 Feb 7 14:48 .gitaccess new-project$ git branch -r origin/HEAD -> origin/master origin/access origin/master Ähnliches gilt beispielsweise bei einem Repositories müssen allerdings einem Namensschema entsprechen, das der Server erzwingt. Abweichende Namen werden abgelehnt. Per SSH können auch einige Kommandos zur Verwaltung der Repositories (unter anderem zum Löschen) ausgeführt werden. Nähere Informationen findet man in der Dokumentation oder per |
Vacancies of TU Braunschweig
Career Service' Job Exchange
Merchandising
Term Dates
Courses
Degree Programmes
Information for Freshman
TUCard
Technische Universität Braunschweig
Universitätsplatz 2
38106 Braunschweig
P. O. Box: 38092 Braunschweig
GERMANY
Phone: +49 (0) 531 391-0