Gerrit - Gitlab Integration

8

Um den Entwicklungsprozess zu verbessern, hat unsere Organisation beschlossen, Gerrit in den Entwicklungsworkflow einzuführen. Ich bin verantwortlich für die Implementierung des Gerrit-Servers. Die im Internet verfügbaren Benutzerhandbücher waren sehr hilfreich bei der Implementierung von Gerrit in unseren bestehenden Workflow. Wir verwenden Jenkins und Sonar als nicht interaktive Benutzer zum Überprüfen der Builds. Beim Umgang mit Repositorien stellt sich jedoch eine Frage. Die meisten offenen Quellen verwenden das Gerrit-Replikations-Plugin, um den neuesten Code in ihr öffentliches Code-Repository zu replizieren. Diese öffentlichen Repositorys werden mithilfe von GitLab verfügbar gemacht, sodass die Benutzer den Code klonen können. Hier benötigen wir kein öffentliches Repository, da der Code intern gepflegt wird.

Ist es eine gute Wahl, GitLab und Gerrit auf einen gemeinsamen Git-Repository-Speicherort zu verweisen?

Jede Hilfe wird geschätzt.

    
dasrohith 22.04.2014, 10:20
quelle

1 Antwort

7

Sie können gerrit vor gitlab über die Replikationsfunktion verwenden. Die Replikationsfunktion führt keine git clone / fetch durch, sie überträgt Änderungen nur an ein Remote-Repository.

  • Sie müssen Repositories über z. 'git push origin master', die zusätzliche Berechtigungen erfordert (oder Sie müssen der Administrator sein). Das ist keine große Sache, wenn Sie nicht vergessen, diese zu entfernen Berechtigungen. Wenn Sie vergessen, diese Berechtigungen zu entfernen oder sind Administrator (wer hat diese Berechtigungen): ein Standard "Git Push" wird überstehen, ohne überprüft zu werden.
  • Sie müssen sicherstellen, dass niemand die gitlab-Instanz übernehmen kann. Sonst haben Sie eine hohe Chance, in Merge-Konflikte zu geraten (Gerrit ist diese neuen Commits nicht kennen). Sie können die Zweige in schützen gitlab - aber die admins (und wenn ich mich richtig erinnere auch die Repository Creator / Owner) wird immer auch dieses Recht haben.
  • Sie müssen einem Gerrit-Benutzer Master-Berechtigungen gewähren, damit er zum gitlab-Repository gelangen kann.
  • Alle Projekte müssen zuerst in gitlab erstellt werden, sonst werden sie nicht synchronisiert (es sei denn, Sie finden eine Möglichkeit, dass der Repo automatisch in gitlab beim ersten Git-Push erstellt wird)
volker 04.11.2014 20:51
quelle

Tags und Links