Konzept für Entwicklungsumgebung (Themes)

Hallo,

mich würde einmal Eure Meinung bzw. Eure Konzepte / Tools interessieren um folgendes zu bewerkstelligen:

Ich habe einen Shop auf einem Live-System, der auch genutzt wird. Nun möchte ich einige Änderungen am Template durchführen, dass aber nur sehr sehr seeeehr ungern auf dem Live-System tun. Wie handhabt Ihr das?

Meine Ideen wären folgende:

  • Subshop mit neuem Template einrichten und in diesem arbeiten (finde ich aber eher unschön, weil ja irgendwie dennoch im Live-System gewerkelt wird)
  • Shop auf Subdomain auf dem selben Server kopieren und dort entwickeln
  • Eigenen vServer für die Entwicklung einrichten und den Shop darauf kopieren

Ich möchte auf jeden Fall eine Online-Lösung, da ich von verschiedenen Rechner aus daran arbeite. Lokal kommt also nicht in Frage.

Ich bin mir sicher, dass ich nicht der erste bin, der sich die Frage stellt. Was also war Eure Antwort?  Smile

Schönen Abend!

Gruß
Bernhard

ich bin schon immer gut damit gefahren den Shop in einen Unterordner zu kopieren (klonen) und in dem Testshop das Template anzupassen. Diesen Shop nutze ich dann auch um Updates durchlaufen zu lassen um zu sehen ob alles klappt.

Erst dann mache ich die Updates im Live-Shop.

Bei der Umtellung zu Shopware 4 zu 5 hatte ich Übergangsweise mehrer Test-Shops in Unterordner, das hat den Vorteil das all deine Plugins weiter laufen da die Domain gleich bleibt was bei einer Sub-Damain nicht der Fall ist.

Uwe

1 „Gefällt mir“

Besten Dank, Uwe, für deine Antwort! Der Tipp mit den Plugins bzw. Lizenzen ist schon mal Gold wert. 

Tja, da werde ich wohl einiges zu tun haben bezüglich des Plugins und Lizenzen, da ich leider auf einer Sup-Domain aufbaue. Mist!

Bir mir ist der Shop smat themes-Ordner gleich im httpdocs-Ordner. Müsste ich diesen Ordner dann clonen?

Lieben Grüße,

Sacha

Also ganz klare Antwort: Jedenfalls trennen!

Ich arbeite mit drei getrennten Systemen :

  • DEVELOPMENT (Entwicklungsumgebung)
  • STAGING (Test & Abnahme)
  • PRODUCTION (Produktivsystem)

Wobei Development und Staging auf der selben Maschine als eigene VHosts laufen. Das Deployement zwischen Development und Staging erledigt ein Script. Das Deployment in die Production wird manuell durchgeführt. Hier bin ich aber noch dabei eine gute Lösung zu suchen.

Zwischen Development und Staging könnte man noch eine Instanz TESTING einziehen, ist aber nicht unbedingt nötig.

Wenn es an Budget mangelt empfehle ich Dir Amazon Web Services (AWS). Dort kannst Du Dir für ein paar Euro pro Monat Deine EC2 Instanz aufsetzen und auch gut absichern (Security Groups).

Vielen Dank für deine Darstellung. Wie hast du denn das mit den Plugins gelöst? Ihr werdet die ja kaum 3 mal kaufen oder?

Ich verwende nur Eigenentwicklungen bzw. Plugins ohne Lizenz im Moment. Das Lizenzthema würde ich aber mit den Entwicklern lösen. Dort kannst Du ja anfragen, ob Sie Dir neben der Produktivdomain noch die beiden Domains shop.dev und shop.staging in das Licensefile aufnehmen können.

Guten Abend zusammen,

da das Problem in meiner neuen Firma nun wieder Thema ist, möchte ich dies gerne nochmal aufgreifen. Jedoch mit ein paar kleinen Änderungen. Zum einen möchten wir nun doch lokal entwickeln, da nun mehrere Entwickler an dem Projekt arbeiten (Thema git).

Mein “Konzept” aus dem Ursprungsbeitrag hat sich also nun wie folgt, auch auf Basis der von @Synonymous‍ vorgeschlagenen Vorgehensweise wie folgt geändert:

Die Idee ist nun, die relevanten Ordner (in erster Linie also den “themes”-Ordner) aus dem git per Skript regelmäßig automatisiert auf den Staging-Server zu kopieren. Nach Abnahme, soll dann manuell (bzw. manuell per Skript, mal sehen) der themes-Ordner aus der Staging-Umgebung in das Produktiv-System kopiert werden. 

Ein großes Problem sind für mich aber noch die Plugins, die ja für “localhost” nicht lizenziert sind. Warum Shopware bei host = localhost nicht automatisch alle Lizenzen durchwinkt verstehe ich auch nicht… Die Lösung mit dem Anpassen der Hosts-Datei ist für mich nicht zufriedenstellend, da es ja die Erreichbarkeit der Produktivumgebung stark einschränkt bzw. verkompliziert.

Gibt es dazu von Euch schon neue Ansätze oder Ideen? Gibt es dafür ein Konzept seitens Shopware? Wir werden ja wohl nicht die einzigen mit dieser Problemstellung sein. Oder operieren alle anderen immer am offenen Herzen?  Undecided

Gerne bin ich auch für weitere Ideen oder ganz andere Vorschläge offen. Wichtig ist für mich nur, es muss funktionieren und soll für den einzelnen Entwickler eine Erleichterung und ein überschaubarer Mehraufwand sein. Und es müssen eben mehrere Entwickler gleichzeitig an dem Projekt arbeiten können.

Freue mich auf regen Austausch!

Gute Nacht!
Bernhard

Ob das Plugin http://store.shopware.com/8mz3122917443931/staging-umgebung.html hierfür sinnvoll ist, muss ich noch prüfen.

Gerne ein Feedback erwünscht :slight_smile: Die DEMO-Seite des besagten Plugin hat leider JS-Fehler und startet nicht :-( 

@R4M schrieb:

Die DEMO-Seite des besagten Plugin hat leider JS-Fehler und startet nicht :-( 

 

Siehe hier:
http://stagingenvironment.8mylez.com
http://stagingenvironment.8mylez.com/staging
Admin-User: demo / demo

Wegen Wartungsarbeiten nicht erreichbar!

 Immer wenn ich die http://stagingenvironment.8mylez.com/staging betrachten möchte geht etwas nicht :slight_smile: Verschwörung? :wink:

Scheinbar ist dort der Shop auf Wartung geschalten. Vielleicht kann @8mylez‍ dazu etwas sagen?

Hallo zusammen,

da jeder Zugriff auf den Demo Shop hat, wurde in der Staging Umgebung tatsaechlcih ein Update eingespielt, welches scheinbar nicth durchlief. Der Wartungsmodus von Shopware selbst wird bei der Staging Umgebung aktiviert, damit kein Zugriff von ausserhalb erfolgen kann.

Durch zwei Klicks konnte aber eine neue Staging Umgebung erstellt werden: http://stagingenvironment.8mylez.com/staging/

Wenn weitere Probleme oder Fragen auftauchen, gerne auch per Mail melden: support@8mylez.com​

Ueber Feedback freuen wir uns auch sehr! Gerne auch Verbesserungsvorschlaege zum Plugin!

 

Zum Thema:

Wir trennen unsere Entwicklungssysteme. Am Live Shop wird nicht direkt gearbeitet. Das ist aus unserer Sicht zu gefaehrlich, da dort schliesslich echte Kunden unterwegs sind. Dafuer haben wir in dem Unterordner eine Staging Umgebung angelegt. So haben wir keine Probleme mit den Lizenz und koennen den Shop auf dem richtigen Server testen. Sehr hilfreich bei Updates oder Anpassungen.

Entwickelt wird immer lokal auf dem eigenen System (in einem Docker Container um genau zu sein), da wir auch Git zum Versionieren nutzen.

Je nach Groesse des Shops wird das Deployment entweder manuell durchgefuehrt (Plugin im Backend hochladen) oder eben per Script. Die Deployment Scripts lassen sich dabei auch unendlich komplex gestalten. Dabei gibt es einige Faktoren: Groesse des Shops, Continuous Deployment, TDD usw.

Generell wird es schwierig ohne die passenden Lizenzen oder einem hosts Eintrag lokal zu Entwickeln. Ab einer Professional Plus Lizenz gibt es wohl die Moeglcihkeit sich eine Staging Lizenz von Shopware ausstellen zu lassen. Ich meine zu mindest, dass es fruehr mal so gewesen ist. Ob es immer noch so ist kann ich nicht sagen. Da kann dir Shopware sicherlich weiterhelfen.

Ansonsten, wenn die lizensierten Plugins nicht direkt etwas mti dem Theme zu tun haben, kann das lokal ohne die Plugins entwickelt werden und dann auf /staging getestet werden.

 

Wenn du zu einer Loesung gekommen bist, wuerde ich mich ueber einen Bericht freuen!

Gruß

Alexander

Hallo Alexander,

vielen Dank für deinen ausführlichen Beitrag. Ich habe nun in den letzten Tagen und Wochen eine Entwicklungsumgebung aufgesetzt. Sobald diese komplett läuft, werde ich sie hier ausführlich beschreiben.

Bis dann!

Gruß
Bernhard

1 „Gefällt mir“

Hallo Bernhard,

wie weit ist denn Dein Testsystem? Ich bin auch gerade dabei, eines einzurichten und mich würde interessieren, ob das Plugin weiterhilft.

Da ich allerdings kaum kommerzielle Plugins nutze, habe ich mich für ein Testsystem in einer Subdomain entschieden. Irgendwie finde ich das technisch sauberer als mit einem Unterordner. Geht das auch mit dem Plugin?

Ansonsten versuche ich es gerade manuell, habe allerdings so ein paar Schwierigkeiten. Undecided

Die frage ich aber in einem eigenem Thread nach Hilfe. Vielleicht hat jemand eine Idee.

 

VG

Thorsten