Synchronisierung mit anderen Quelltext-Repositories

Hallo zusammen,

zunächst mal Danke für die hier entstehende Infrastruktur!

Beim Einpflegen unserer Projekte und den ersten Issues, die ich hier bekommen habe, habe ich mich gefragt, inwiefern eine Synchronisierung mit weiteren Quelltext-Repositories (insbesondere github) möglich ist. Denn wir möchten unsere Softwareprojekte idealerweise nur an einer Stelle pflegen (und ich vermute, das wird einigen anderen Softwareprojekten genauso gehen). Das betrifft sowohl Issues und Pull bzw. Merge-Requests (die einfachste Lösung wäre vmtl. diese nur auf einer Plattform zu erlauben) als auch Commits.

Kennt jemand dafür eine bereits automatisierte Lösung? Oder gibt es seitens Open CoDE eine Empfehlung dafür?

Viele Grüße aus Münster
Thomas

2 „Gefällt mir“

Hallo @terstiege,

danke für das Feedback. Das Problem ist bekannt, jedoch nicht über die Frontends abgebildet. Eine (insbesondere unidirektionale) Synchronisierung mehrerer Gits kann über verschiedene Lösungen, etwa als Bestandteil der CI-Pipeline, über GitLab Features oder in kurzer Eigenentwicklung für spezifische Use-Cases vorgenommen werden. Leider kann es bei bidirektionaler Synchronisation immer zu Konflikten kommen, weshalb eine allgemeingültige und frontendgestützte bidirektionale Synchronisierung mehrerer Gits und Projektmanagementinformationen (Issues etc) aktuell nicht möglich ist(1), bzw maximal auf hochfrequente push&pull-Synchronisationen zurückgreift.

Als generische Antwort ohne technisches Konfliktpotential empfehlen wir daher nur ein Git als Master zu pflegen und so kenntlich zu machen. Das Projekte nicht parallel an mehreren Orten entwickeln und an manchen Spiegeln dadurch keine umfassenden Diskussionen zulassen können ist nachvollziehbar. In diesem Fall bitten wir weiterhin um Reaktion auf Issues und Kommentare in Open CoDE, aber zu kommunizieren wann und welche Themen hier nicht bearbeitet werden können.

Technisch unterstützt Git den Merge von Branches unterschiedlicher Remotes. Das ist ein gutes Hilfsmittel um kleinere Erzeugnisse eines Remote einzufangen, wird bei größerer Entwicklung, mehreren zu betrachtenden Branches und tracking der Issues und Abnahmen aber problematisch. Inwiefern Projekte dies zulassen können obliegt natürlich dem Projekt.

Mit freundlichen Grüßen

Open CoDE

  1. 2-way-sync ("mirror") between GitHub and GitLab (#47249) · Issues · GitLab.org / GitLab FOSS · GitLab
2 „Gefällt mir“

Hallo @code_admin,

danke für die schnelle Antwort! (Leider funktioniert die Mailfunktion noch nicht, deshalb habe ich es erst später gesehen.)

Ich sehe ein, dass das Problem einer bidirektionalen Synchronisierung nicht einfach zu beantworten ist. Über den Link habe ich nun immerhin herausgefunden, dass gitlab sowohl push als auch pull mirroring anbietet. Leider ist nur push-mirroring in der (offensichtlich eingesetzten) kostenlosen Variante verfügbar, pull-Mirroring benötigt die enterprise edition.

Die aus meiner Sicht einfachste Variante wäre, wenn man direkt im gitlab ein pull Mirroring (im konkreten Fall von github) einstellen könnte. Deshalb meine Frage, ob der Einsatz der Enterprise Edition für Open CoDE in Frage kommt?

Alternativ fände ich Anleitungen, wie man das Problem sonst konkret lösen könnte, für beide Fälle (Hauptrepo woanders als bei Open CoDE / Hauptrepo bei Open CoDE) sehr hilfreich. Ich habe zumindest auf die Schnelle keine ganz einfache Lösung finden können, vermute aber, dass das Problem mehrere Projekte betreffen könnte.

Mir geht es dabei übrigens primär um den Quelltext. Bei Issues und Pull/Merge-Requests kann man ja manuell darauf hinweisen, dass die nur an einer Stelle gepflegt werden.

Viele Grüße
Thomas

3 „Gefällt mir“

Lässt sich das Issues-Feature in den Projekteinstellungen bei gitlab eigentlich abschalten?

Cheers
Sebastian

Ich stehe vor einem ähnlichen Problem. Ich betreibe ein Repository unter GitHub - dort möchte ich es auch als Master weiterführen.

Laut https://medium.com/@OpusTheRobot/how-to-sync-github-to-gitlab-f052803eb279 und https://docs.gitlab.com/ee/ci/ci_cd_for_external_repos/ kann man wohl immerhin unidirektional von GitHub nach GitLab verknüpfen.

Das würde ich gerne machen, allerdings zeigt mir OpenCode beim Erstellen eines Repositorys nicht die erforderliche Option „CI/CD for external repo“ an. Kann diese bitte noch aktiviert werden?

2 „Gefällt mir“

Schaut sich einer der Admins das hier noch an?

2 „Gefällt mir“

Hallo liebes OpenCoDE-Team,

wir brauchen diese Feature auch. Wir entwickeln unser Projekt auf GitHub und benötigen eine unidirektionale Synchronisation zu OpenCoDE.

Alternativ könnten wir nightly einen Pull vom Remote github und eine Push zum Remote OpenCoDE machen.