Ich bin neu bei Shopware - hoffentlich also keine DAU Frage.
Ich möchte den Quellcode komplett in git haben, somit arbeiten im Team einfacher, jeder arbeitet lokal
Die Entwickler entwickeln lokal, testen commiten, alles läuft in develop branch zusammen
Staging Server
Eigener Server vollkommen getrennt von produktiv
Die Docroot ist ein GIT-Klone - das update also nur ein “git pull” des develop branches am Server
Nach Testen am Staging Server --> develop wird nach master gemerged
LIVE Server
Docroot ist ein git Klone des master branches
Das Update nur ein “git pull” des master branches
Meine Fragen:
Wie geht das am besten mit Plugins?
Eigene oder Fremde
Was muss ich zusätzlich beachten?
Muss ich das Plugin dann trotzdem auf allen Servern (staging, live) nochmal installieren/aktivieren?
Wie kommen Änderungen, die die Plugins am DB-Schema oder den DB-Daten machen auf alle Server?
Gibt es Beispiele? Hat das schon mal jemand so gemacht? Was setze ich am besten auf die .gitignore Liste? Es wäre dann wohl alles (auch vendor Verzeichnis) im Git
Das themes Verzeichnis, denke ich, wäre dann kein Problem, da es über den git pull auf alle Systeme kommt.
Wäre auch ein Shopware Versionsupdate so machbar (also lokal updaten --> git commit --> git pull auf staging/live)?
Das Problem mit der “Domain”/Lizenz würde ich jetzt mal aussen vor lassen, muss man wohl in diesem Fall mit Workarounds lösen.
Ich würde in Git nur Sachen packen die Du entwickelst. Also Dein Theme und ggf. Deine Plugins.
Fremd-Plugins, Core etc. nicht. Diese Sachen kommen Original und sollten auch so bleiben.
Die Shopkinfiguration musst Du auf der Datenbank-Ebene syncen.
+1 . Löse ich aktuell auch so. Mit dem neuen Plugin-System wird es evtl. etwas „eklig“, da du Drittanbieterplugins immer auf die gitignore setzen musst. Hier wird es mal Zeit, dass man Eigenentwicklungen wieder woanders ablegen kann. (z.B. über die config.php mehrere Plugins-Dirs angeben, welche der Plugin Manager einbezieht.)
Die komplette Shopware Installation zu versionieren halte ich für nicht besonders praktikabel. Das bläht die Repo auf, der Kunde kann nicht einfach den Plugin-Manager benutzen ohne, dass es zu Konfilkten kommt, etc. pp.)
Ich bin neu bei Shopware - hoffentlich also keine DAU Frage.
Ich möchte den Quellcode komplett in git haben, somit arbeiten im Team einfacher, jeder arbeitet lokal
Die Entwickler entwickeln lokal, testen commiten, alles läuft in develop branch zusammen
Staging Server
Eigener Server vollkommen getrennt von produktiv
Die Docroot ist ein GIT-Klone - das update also nur ein „git pull“ des develop branches am Server
Nach Testen am Staging Server –> develop wird nach master gemerged
LIVE Server
Docroot ist ein git Klone des master branches
Das Update nur ein „git pull“ des master branches
Meine Fragen:
Wie geht das am besten mit Plugins?
Eigene oder Fremde
Was muss ich zusätzlich beachten?
Muss ich das Plugin dann trotzdem auf allen Servern (staging, live) nochmal installieren/aktivieren?
Wie kommen Änderungen, die die Plugins am DB-Schema oder den DB-Daten machen auf alle Server?
Gibt es Beispiele? Hat das schon mal jemand so gemacht? Was setze ich am besten auf die .gitignore Liste? Es wäre dann wohl alles (auch vendor Verzeichnis) im Git
Das themes Verzeichnis, denke ich, wäre dann kein Problem, da es über den git pull auf alle Systeme kommt.
Wäre auch ein Shopware Versionsupdate so machbar (also lokal updaten –> git commit –> git pull auf staging/live)?
Das Problem mit der „Domain“/Lizenz würde ich jetzt mal aussen vor lassen, muss man wohl in diesem Fall mit Workarounds lösen.
Vielleicht kann mir jemand weiterhelfen.
Danke & schöne Grüße
Siegi
Wir bauen immer ein komplettes Release mit allen Dateien. Nur die Ordner Media & Files haben in einem Shared Ordner gesymlinked und sind auch nicht im Repository. Nach dem das Release fertig ist setzen wir den Symlink von var/www/shop/web –> releasealt auf var/www/shop/web –> releaseneu. Rollback dann einfach symlink ändern.