Shopware und Versionskontrolle (git,svn etc)

Hallo zusammen,

ich stehe vor dem Problem, dass ich aktuell nicht weiß was ich mit den Inhalten aus dem custom Ordner machen soll. Rein in die Versionskontrolle oder nicht.

Schaut man sich zb hier um .gitignore · master · public / shopware / sw6-project-skeleton · GitLab sind die Dateien aus /custom/plugins etc alle aus der Versionskontrolle ausgenommen. So habe ich es aktuell bei mir auch.

Nun ist bei uns folgendes passiert. Ein Nutzer hat im Backend ein neues Plugin installiert. Das Plugin hat sich in der composer.json eingetragen und damit die composer.json und composer.lock Datei geändert. Beides sind Dateien, die in der Versionskontrolle liegen. Folglich müssen die Änderungen eingecheckt werden, damit auf dem Server keine modifizierten Datein liegen. Macht man das, kann man aber composer install auf anderen Systemen nicht mehr aufrufen, da dort die Dateien fehlen. In der composer.lock wird auf folgendes verwiesen:
„type“: „path“,
„url“: „custom/plugins/FroshPlatformMailArchive“,
Die gibt es natürlich erst nach der Installation des Plugins.

Aus diesem Grund stellt sich mir gerade die Frage: Warum ist der Ordner /custom/plugins nicht in der Versionskontrolle?
Das würde zumindest den Fehler beheben, bzw das manuelle kopieren des Ordners custom/plugins/FroshPlatformMailArchive ersetzen.

Eine Unsicherheit gibt es bei mir aktuell, weil ich nicht weiß, wie der Prozess der Plugin-Installtion / Update / Löschen aussieht.
Kann man ein Plugin einfach so im Datei-System ersetzen oder führt das zu anderen Problemen, die ich nicht auf dem Schirm habe? Oder ist das das Gleiche, wie wenn man über das Backend eine zip Datei mit einer neuen Version hochlädt?

Einen Vorteil, wenn die Dateien eingecheckt wären, wäre, dass in der Versionshistory nachvollzogen werden kann wann welches Plugin mit welcher Version lief. Außerdem muss man nicht auf allen Systemen (Test / Staging / Live / etc) manuell dafür sorgen, dass die Versionen der Plugins identisch sind. Meiner Meinung nach ist das ein Muss um überhaupt sicherzugehen, dass Änderungen funktionieren und nach Live kommen dürfen.

Gibt es einen Prozess, der die Plugins Auto-Updatet? Ich sehe, dass die Ordner im Plugin Ordner immer einen recht neuen Zeitstempel haben. Aktuell haben sie alle einen Zeitstempel der ca. 30 Minuten alt ist. Irgendwas muss da also automatisiert laufen, dass das macht.

Gleiche Überlegungen betreffen auch den Ordner /custom/apps.
Hier gibt es einen Auto-Updater - den habe ich schon gefunden:

Macht die Versionskontrolle dann schwer bis unmöglich.

Für mich fühlt sich das nicht wirklich Durchdacht an.
Eventuell übersehe ich etwas. Vielleicht hat jemand eine Meinung oder Erfahrung und kann dies mit mir/uns teilen?

Viele Grüße,
Jens

Hi!
Wir haben diese Woche einige Vorschläge veröffentlicht, was wir mit der kommenden Shopware 6.6 Version machen wollen: shopware/shopware · Discussions · GitHub

Unter anderen auch die Erweiterungen alle über Composer laufen zu lassen.
Eine Diskussion dazu wurde in Github dazu gestartet: Manage store extensions fully with Composer · shopware/shopware · Discussion #3356 · GitHub

Das könnte das ganze dann entsprechend hinfällig machen. Gebe gern dein Feedback dazu auf Github ab.