Wie kann ich einzelnen Entwicklern erlauben, ihren eigenen Speicherplatz zum Erstellen von Git-Repositorys zu haben?


6

Ich habe einen Server, der im Wesentlichen ein Gitosis-Setup ist. Ich habe einen Git-Benutzer, der Zugriff auf alle freigegebenen Repositorys hat. Ich möchte, dass jeder Entwickler einen eigenen "Bereich" auf diesem Server hat, um seine eigenen Repositorys zu erstellen. Ich möchte, dass diese Bereiche über gitweb angezeigt werden können. Wie kann dies erreicht werden, das die geringste Wartung hinsichtlich des Hinzufügens von Benutzern und Repositorys erfordert?

Eine naheliegende Lösung wäre, jedem Entwickler zu erlauben, Repositorys auf dem Git-Login zu erstellen und Zweige mit dem Namen "Etwas" zu haben <devname>-<reponame>. Aber ich konnte sehen, dass dies mit zunehmender Anzahl von Entwicklern nicht mehr zu bewältigen war.

Antworten:


1

Ich bin mir nicht zu 100% sicher, was die Besonderheiten von git web angeht (ich bin gerade dabei, es gefällt mir!), Aber das Folgende sollte im Allgemeinen in beiden Fällen funktionieren

  1. Erstellen Sie eine Gituser-Gruppe. Fügen Sie den Hauptbenutzer für git zu dieser Gruppe hinzu (welcher Benutzer auch immer git hub usw. ausführt).
  2. Lassen Sie jedem Entwickler einen Benutzernamen für das System geben und gehören Sie zur Gruppe der Gituser
  3. Erstellen Sie in jedem Ausgangsverzeichnis eines neuen Benutzers einen Ordner, der von allen Benutzern in der Gituser-Gruppe gelesen, geschrieben und ausgeführt wird
  4. Fügen Sie diesen Ordner zu der Git-Hub-Liste der Ordner hinzu, in denen nach zu verarbeitenden Repositorys gesucht werden soll.

Wenn Sie nun alle bis auf # 1 in ein Skript einfügen, sollten Sie in der Lage sein, einen Befehl mit einem Benutzernamen und einem Kennwort als Argumente auszuführen, mit denen all Ihre Magie ausgeführt werden kann.


1, 2 und 3 sind unkompliziert, aber 4 ist das, wonach ich frage. Ich habe keine Ahnung, wie man # 4 macht.
Jason Baker
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.