![Synchronisieren zweier Git-Server zwischen Unternehmen](https://rvso.com/image/1414660/Synchronisieren%20zweier%20Git-Server%20zwischen%20Unternehmen.png)
Es gibt zwei Unternehmen. Beide haben einen Git-Server in Betrieb. Wenn Unternehmen A Code eincheckt, sollte dieser auf dem Server von Unternehmen B aktualisiert werden und umgekehrt.
Die beiden Server sollten stets miteinander synchronisiert bleiben.
Server-Betriebssystem: Ubuntu Server 14.04
GIT: Gitlab
Welche Lösung wäre in unserem Fall sinnvoll (Spiegelung, Hooks,..)?
Antwort1
Ich habe ein Tool entwickelt, um Git-Repositories auf Ebene zu synchronisieren und alles an Projektteams zu delegieren.
Mein Tool istGit-Repo-Synchronisierung.
Es synchronisiert automatisch zwei Remote-Git-Repositorys. Es ist jedoch möglich, so viele Synchronisierungspaare zu konfigurieren, wie jemand benötigt.
Ich glaube, dass Server nicht in einer „Git-Reihenfolge der Dinge“ synchronisiert werden können.
Sogar GitLab schlägt seineSpiegelungauf Repository-Ebene.
Technisch ist Spiegelung auch auf Serverebene möglich, aber es handelt sich um eine einseitige Synchronisierung.
Die Leute möchten häufiger Änderungen von beiden Unternehmen aus vornehmen und die Spiegelung ermöglicht dies nicht.
Es gab immer Einschränkungen bei der Spiegelung, außer wenn sie für die Datensicherung verwendet wird.
Stellen Sie sich vor, Sie haben eine Serversynchronisierung.
Als Nächstes bitten Sie Ihre Seiten (Unternehmen), ihre Git-Pushes und Commits zu überprüfen und zu wiederholen, da diese während einer nächtlichen Synchronisierung verschwinden können.
Dann bitten Sie Ihre Seiten, keine Commits in dieselben Git-Branches durchzuführen, um diese Probleme zu mildern.
Um sie zu mildern, aber nicht zu beseitigen.
Ich stelle mir Möglichkeiten vor, wie man eine bidirektionale Synchronisierung auf Gitlab- oder Bitbucket-Ebene implementieren könnte.
Ich habe mich jedoch dazu entschieden, dies nicht in meinem Tool zu implementieren, da es etwas kompliziert wäre.
In meinem Fall habe ich viele Git-Server und nicht nur Gitlab oder Bitbucket.
Es gibt viele andere Gründe, warum ich der Synchronisierung von Servern oder Git-Lösungen nicht zustimmen kann. Aber hier ist kein Platz, um meinen Kummer zu teilen. :)