Shopware 5 - Projekt & Support Workflow

Hallo Zusammen,

Ich würde gerne ein paar Fragen in die Runde werfen welche den einen oder anderen ev. auch interessieren im Zusammenhang mit einem Projekt & Support Workflow
Anbei sind die Vorschläge, wie ich es für unsere Kunden handhabe (arbeite seit knapp 5 Monaten mit Shopware) und sollte für Neulinge mit Vorsicht behandelt werden.
Würde mich freuen, wenn ihr Punkte ergänzt.

LG Stefano aka. Arya_Svitkona
 

Generell:

  • Wie sieht euer Projekt Workflow für Kundenprojekte aus?
    • Neu Projekt:
      • Meeting - Offerte - Bestätigung - Hosting bestellen - Domain einrichten - SW 5 installieren und Wartungsmodus aktivieren - Realisation - Wartungsmodus deaktivieren?
    • Update:
      • Meeting - Offerte - Bestätigung - Hosting überprüfen (z.b… PHP Version) - Verzeichnis anlegen z.b. www.meinedomain.ch/shop51/ - Shop kopieren (nicht vergessen config.php / s_core_shops anpassen) - Update / Plugins installieren
         
  • Wie handelt ihr Livesysteme bei Änderungen (Plugins / Update etc.)?
    • www.meinshop.ch -> Livesystem
    • www.meinshop.ch/stage/ -> Testsystem (DB abgleich?)
    • Plugins und Änderungen werden immer zuerst auf dem Testsystem ausgeführt und anschliessend ERNEUT im Liveshop durchgeführt mit aktiviertem Wartungsmodus.
       
  • Welche Punkte sind bei einer Installation besonders zu beachten?
    • gekaufte Lizenzen wenn möglich direkt auf die richtige Domain ausstellen (ansonsten via Backend / Kontaktformular bei Shopware umschreiben lassen)
    • Cron Plugin installieren und via Cronjob für alle „SW Cronjobs“ ausführen
      • wget -p --delete-after http://www.meinshop.ch/backend/cron >> /dev/null 2>&1(gut/schlecht?)
      • cd /home/meinshop/public_html/shop && php5 shopware.php /backend/cron (gut/schlecht?)

 

Support:

Fehleranalyse (nach Arya_Svitkona)

  1. Shopware Check erfolgreich? (Backend: Einstellungen - Systeminfo)
  2. Fehler im Browser ersichtlich?
  3. Fehler in Browserkonsole ersichtlich?
  4. Fehler Details in FTP „var/log/error.log“ ersichtlich?
  5. Pluginfehler:
  6. Update vorhanden?
  7. Shopware Kompatibilität überprüfen (ob für SW Version kompatibel)
  8. Update durchführen
  9. Fehleranalyse erneut starten
  10. Community & Forum als erste Anlaufstelle
  11. Shopware Support (wenn Pro Lizenz vorhanden)

Machen wir es vielleicht ein wenig einfacher:
Wer nutzt Testsysteme und wie sind diese Aufgebaut?

Aus meiner Sicht bin ich beinahe gezwungen (bezüglich Lizenz) in einem Unterordner des Liveshops, meine Entwicklungs Umgebung zu hosten.
Funktioniert eine Lokale installation mit angepasster .host Datei? (www.meinshop.ch verweist auf 127.0.0.1)?

Hallo,

wir setzen oft eine (passwortgeschützte) Testumgebung in einem Unterordner ein, gerade auch wegen dem Punkt Lizenzen, da diese ja an eine Domain gebunden sind. Die Testumgebungen sind dann ganz einfach eine Replik des Live-Systems mit einer eigenen Datenbank. Updates, sei es des Shopsystems oder von Plugins, werden natürlich vorher erst im Testsystem durchgeführt.

Für die Fehleranalyse würde ich in der config.php noch den Wert:

'front' => array(
    'throwExceptions' => true,
),

einstellen, siehe: http://community.shopware.com/config.php-Tweaks_detail_1801.html .

Beste Grüße

Sebastian

Super! :slight_smile:

Wie bringt ihr die Änderungen ins Livesystem?
Alle Änderungen erneut machen (grosser Aufwand z.b. bei Einkaufswelten mit Bilder upload etc.) oder Kopiert ihr die Lagerbestände etc. in den Testshop und setzt diesen Live?

#Push

Wir setzen gerade unseren ersten größeren SW Shop um.

Wir haben einen etwas dickeren dedizierten Server, darauf laufen 5 VMs.

www1 -> Shop 1
www2 -> Shop 2
sql1 -> SQL Server
tst1 -> Testumgebung / Staging
dev1 -> Entwicklungsumgebung

Für die Umsetzung haben wir eine Lizenz mit Zugang zu einer Staging Umgebung. Auf dem Staging haben wir mehrere SW Installationen und können per vHost Anpassung des darauf laufendenen Webservers zwischen den verschiedenen Testinstanzen wechseln. Auf diese Weise können wir diverse Testinstallatioen betreiben und immer auf die lizenzierten Features zurückgreifen, z.B. Premium Plugins.

Bezüglich Updates / größerer Änderungen arbeiten wir mit SQL Historien. Alle Änderungen der letzten 2 Stunden werden dann in die Produktiv Datenbank synchronisiert, ausgenommen unwichtiger Tables wie Bestellungen, Kunden, etc.

Falls das nicht klappt wie wir uns das bislang überlegt haben werden wir per Script eine Kopie der Produktivumgebung machen, dort die Änderungen umsetzen und testen und wenn es klappt, die fertige Testumgebung wieder zurückbügeln, ausgenommen Kunden/Bestellungen.

Man muss halt nur Kleinigkeiten beachten wie Cache löschen etc.

1 „Gefällt mir“

Besten Dank für die ausführliche Antwort :slight_smile:
Somit würden bei einem Update von 5.1.0 auf 5.1.3 (als Beispiel) die Kundendaten und die Bestellungen „verloren“ gehen und müssten manuell vom Kunden nachgetragen werden (neu Bestellen)?

Klingt für unseren Zweck ein wenig nach einem grösseren Unterfangen, scheint mir jedoch sauber durchdacht zu sein.
Lese mir den Post in Ruhe erneut durch und würde mich sonst nochmals melden.

Es gehen nur die Daten verloren die während der arbeiten an der kopierten Instanz gemacht werden.

Entweder also danach ein Abgleich der Daten machen wenn aus Test wieder zu produktiv repliziert wird, oder diese Daten einfach auslassen sodass Bestellungen+Kunden nie überschrieben werden in der Produktivdatenbank.

Updates z.B. macht man ja i.d.R. Spät Abends wenn das Tagesgeschäft durch ist, dann passiert ja meist eh nichts. Ansonsten, Wartungsmodus aktivieren damit in der Zeit keine Order dazwischenfunken kann.

Just for your Information:
Configuring Multiple Shopware Environments

Habe mich noch nicht damit auseinandergesetzt, aber das kommt demnächst!

[Querverweis]
Hier wird das Thema auch besprochen: https://forum.shopware.com/discussion/comment/170835

Hallo Zusammen,
Habe es nicht getestet, aber könnte für den einen oder anderen noch eine Lösung sein.
http://store.shopware.com/8mz3122917443931/staging-umgebung.html

 

Zurzeit mach ich das alles von Hand resp. mit einem shell script…wollte mitte Jahr ein Plugin schreiben und der Community was zurückgeben, aber da ist mir jemand zuvorgekommen. :wink: Well done!

Hallo Zusammen, 

Ja das mit den Plugins ist schon immer eine mühsame geschichte. 

Einfach wäre es wenn die Plugins bei Lokalen Installationen gar nicht nach einer Gültigen Lizenz schauen und das man eine Subdomain als dev umgebung hinterlegen kann. 

Dann wäre allen geholfen. 

@rcoria‍ soweit ich mich nicht irre, haben server eine interne und eine externe IP, genau wie dein PC zu hause.