Shopware 6 Entwicklungssetup Best Practice (Lokal —> Live)

Hallo Zusammen,

ich bin neuer in der Shopware Entwicklung und habe mir mit MAMP ein Lokales System aufgesetzt.

Jetzt wollte ich fragen, was eure Best-Practice sind um die Lokalen Dateien samt Datenbank auf ein Staging/Test-System und dann auf das Produktiv System sind?

Oder gibt es ein Weg es von dem Lokalen direkt in das Produktiv zu übertragen?

Ich würde mich sehr über eure Tipps und Tricks freuen!

Danke und Liebe Grüße
Lukas

Wir nutzen dafür Capistrano (GitHub - capistrano/capistrano: Remote multi-server automation tool) aber es tut auch jedes andere deployment tool/script.

Als Dev-System habe ich einen Docker Container; dort werden Plugins entwickelt, Shopware Updates und Drittabnbieter-Plugins getestet. Wenn das alles passt, werden Änderungen manuell erst im Stage- und dann im Livesystem reproduziert. Jede Eigenentwicklung (Plugin & Theme) ist bei mir ein eigenes Git-Repository. Da brauche ich dann nur Pull-Requests zu machen um zu aktualisieren. Das ist dann aber auch schon die einzige „Schnittstelle“ ins Livesystem.

Da im Livesystem ja ständig neue Einträge erzeugt werden (Artikel/-bilder, Kunden, Bestellungen etc), kann man ja nur sehr begrenzt in diese Richtung synchronisieren. Bzw. wird das mehr oder weniger kompliziert.

Um das Stage-System hin und wieder mal auf den neusten Stand zu bringen, was Artikel-, Kunden-, Bestestelldaten, Dateien etc angeht, habe ich ein einfaches Skript mit mysqldump und rsync Befehlen.

Ansonsten musst du dir die Skripte so schreiben, wie du sie brauchst. Man muss halt immer aufpassen, dass man nichts überschreibt, was nicht überschrieben werden soll.