Staging / Entwicklungsversion von Shopware Shop: Wie macht Ihr das?

Hallo Zusammen,

ich brauche zur Weiterentwicklung und zum Testen neuer Features und Updates für unseren Shopware Shops eine Staging Umgebung.

Meine Anforderungen:

  • schnelles einfaches Einrichten der Staging Umgebung
  • gekaufte Plugins sollten funktionieren
  • Debuggen über PHP Storm soll funktionieren
  • schnelles Einspielen der geämderten Version
  • PHP Versionen sollten geändert werden können (da wir ein Update von SW5.2 auf SW 5.6 machen wollen)

Meine bisherigen Lösungen:

Lokale Kopie des Shops in einer Vagrant Umgebung auf meinem Rechner:
Nachteile: aufwändige Einrichtung der Vagrant Version (insbesondere Subshops sind schwierig), gekaufte Plugins funktionieren nicht

Installation einer Kopie des Shops in einem Unterverzeichnis des Produktivshops auf dem Hostingserver
Nachteile: Debuggen mit PHPStorm geht nicht, PHP Versionsänderungen gelten auch für den Hauptshop

Wie macht Ihr das? Wie kann ich alle meine Anforderungen möglichst leicht erfüllen?

Danke und viele Grüsse

Jens

Hallo,

händisch:
Shopware 5 - Tutorials & FAQs - Shop Transfer Live-System/Testumgebung

oder halt mit einem Plugin:
StageWare® Staging & Backups | Testumgebungen auf Knopfdruck | Backend-Bearbeitung | Administration | Erweiterungen | Shopware Community Store

Viele Grüße

@scoopex:

Danke für die Tipps. Mir geht es aber eher darum, WO ihr Eure Testumgebung laufen lasst:

Im Produktivsystem in einem Unterverzeichnis
Nachteile: kein Debugging mit phpstorm, gleiche php Version wie Produktivshop

ODER

Auf dem lokalen Rechner in Vagrant
Nachteile: aufwändige Einrichtung (grosse Downloads), Plugins funktionieren nicht

Was macht Ihr? Liege ich falsch mit meinen Nachteilen?

Wir machen 2.:

Installation einer Kopie des Shops in einem Unterverzeichnis des Produktivshops auf dem Hostingserver

Funktioniert seit Jahren problemlos. Wir sind dabei gerade auf TimmeHosting umzuziehen. Hier ist es glaub ich möglich pro Unterverzeichnis die PHP Version festzulegen. Über das müsste es gehen: https://timmehosting.de/blog/individuelle-nginx-konfiguration-je-unterordner-per-mausklick

Damit Plugins etc. funktionieren bräuchtest du eine Staging Lizenz, welche die Lizenzen der Hauptdomain erbt. Du kannst hier gerne mal dich bei unseren Vertrieb melden. Ansonsten der Unterordner wie mehrfach angesprochen.

@raymond schrieb:

Wir machen 2.:

Installation einer Kopie des Shops in einem Unterverzeichnis des Produktivshops auf dem Hostingserver

Funktioniert seit Jahren problemlos. Wir sind dabei gerade auf TimmeHosting umzuziehen. Hier ist es glaub ich möglich pro Unterverzeichnis die PHP Version festzulegen. Über das müsste es gehen: https://timmehosting.de/blog/individuelle-nginx-konfiguration-je-unterordner-per-mausklick

Danke für den Tipp. So werden wir es auch machen. Ich habe beim (sehr hilfreichen) Timmehosting Support angefragt, ob man unterschiedliche php Versionen für Unterverzeichnisse einrichten kann. Es geht! 

Hier ist die Antwort:

"das ist möglich, wenn man einen vHost mit einem beliebigen Namen erstellt und sich von diesem den Websocket “klaut”.
Ich habe für Sie einmal den vHost dev.vhost erstellt und von diesem den Socket in eine Shopware 5 Direktive mit dem Namen “SW5 dev config” eingefügt.
Diese können Sie nun dem Unterordner zuweisen, die PHP-Version für den Unterordner stellen Sie dann in dem vHost dev.vhost ein.
 "

Also muss man einen vHost einrichten. Jetzt muss ich nur noch herausfinden, ob man mit phpStorm und dem Timme Nginx Server debuggen kann …

I will keep you posted.

Ciao

Jens

Ungetestet - Nur eine Idee!!

Was auch gehen könnte, aber mit Vorsicht zu geniessen ist, ist den Shop komplett in die vagrant zu kopieren und in der Host Datei deines PC die Shop Domain auf die Vagrant zu routen. Du gibts der vagrant eine private IP

// Vagrantfile
config.vm.network :private_network, ip: "10.10.10.120"

Diese IP trägst du in der hots Datei ein und zeigst auf deinen Shop

// C:\Windows\System32\drivers\etc\hosts
10.10.10.120 example.com

Alle Anfragen an example.com werden nun nicht mehr an timme sondern an die vagrant gesendet.

Wahrscheinlich musste in der Vagrant noch einen VHOST dafür eintragen und AUFPASSEN dass du den Eintrag wieder entfernst (auskommentierst) wenn du fertig bist mit entwicklen