Lokale Entwicklungsumgebung - best practice

Liebe Shopware Gemeinde,

Mich würde es Wunder nehmen, welche Art von “lokaler Entwicklungsumgebung” so verbreitet ist (im Bezug auf Shopware 5).

Arbeitet ihr auf OSX? Ubuntu? Windows?
Mit Vagrant / Docker / XAMPP oder gar eigenem lokalen Apache oder Nginx Server?

Würde mich über einen Austausch und mögliche Erfahrungen freuen.


Ich persönlich habe Erfahrung mit lokaler Entwicklung (leider TYPO3 nicht Shopware) auf Nginx und MariaDB, welche via Homebrew auf meinem Mac aufgesetzt und konfiguriert wurden.
Im Bezug auf Shopware setze ich mich grad mit Dockercontainer (z.b. der von Shym) auseinander. Zur Zeit wird leider noch nicht lokal Entwickelt, was sich zeitnah ändern wird.


Liebe Grüsse Arya

Apache, MariaDB & Dnsmasq

In einem zweiten Schritt (da Docker auf OSX nicht ganz sooo performant) habe ich mich entschieden über Homebrew einen lokalen Webserver / Datenbankserver zu installieren in Form von “Apache 2” und “MariaDB”.

Eine Anleitung für Anfänger gibt es hier:
https://getgrav.org/blog/macos-catalina-apache-multiple-php-versions

 

Fazit:

Vorteile

  • läuf sehr schnell für die lokale Entwicklung
  • Einrichtungsaufwand hält sich recht in Grenzen
  • geringe Konfiguration bis Website / Shop lokal läuft

Nachteile

  • Enwicklungsumgebung kann “nicht” zwischen Mitarbeitern wie einem Dockercontainer geshared werden 

Hallo Zusammen,

Hat hier niemand Erfahrung mit Lokaler Entwicklung oder gar mit Deployment Prozessen, etc? Oder ist das Interesse nicht, da dies kund zu tun? :slight_smile:
Ich habe durchaus einige Beiträge gelesen, doch mich nimmt es wunder, wie die Community denn tendenziell arbeitet und ob es abgesehen von Capistrano und der Shopware Deployment Lösung noch andere Wege mit Vor/Nachteilen gibt (welche bereits eingesetzt werden).

LG Arya

Hey,

die Frage kann man schwer allgemein beantworten.

OSX: https://github.com/weprovide/valet-plus

Windows: Vagrant oder Native mit Hacks

Linux: nach Geschmack des Users. Viele mögen Docker. Jedoch finde ich, dass ein User auch wissen sollte wie Docker funktioniert, bevor man es ihn einfach aufsetzt.

Ich benutze wie du bereits weißt https://github.com/shyim/shopware-docker

Es ist bloß Nginx, PHP-FPM, MySQL / MariaDB, Elasticsearch, Redis, Mailhog, Adminer etc als Container mit bisschen Scripting.

 

 

2 „Gefällt mir“

Ich denke Du bist hier in dieser Rubrik einfach falsch.

Kuck mal hier sind die Freaks:

 

1 „Gefällt mir“

Danke Jungs, ich war im nächsten Tab bereits auf Gitter und hab eure letzten Comments verfolgt und es mir beinahe gedacht.
Gitter ist das neue Forum :wink:

@Shyim schrieb:

Hey,

die Frage kann man schwer allgemein beantworten.

OSX: https://github.com/weprovide/valet-plus

Windows: Vagrant oder Native mit Hacks

Linux: nach Geschmack des Users. Viele mögen Docker. Jedoch finde ich, dass ein User auch wissen sollte wie Docker funktioniert, bevor man es ihn einfach aufsetzt.

Ich benutze wie du bereits weißt https://github.com/shyim/shopware-docker

Es ist bloß Nginx, PHP-FPM, MySQL / MariaDB, Elasticsearch, Redis, Mailhog, Adminer etc als Container mit bisschen Scripting.

ja genau, find ich an sich auch toll :slight_smile:
Muss mich aus Ressourcengründen etwas einschränken zur Zeit, da viele Baustellen offen sind, daher wollte ich die Baustelle „Docker“ nicht auch noch aufmachen.

Wie sieht es mit Deployment aus? Gerade im Bezug aufs aktivieren von Plugins (in der korrekten Reihenfolge) oder ausführen von Migrationen (z.B. beim arbeitenmit Freitextfeldern).

Bei Deployment bin ich eher strikt und möchte ein ReadOnly System haben. Ich hab vor kurzem ein Shopware NixOs setup gebaut. (https://github.com/shyim/shopware-nix) (https://twitter.com/Shyim97/status/1162775732357140480)

Es benutzt das Shopware Composer Project template als Basis. Bei jedem Deployment wird eine Generation erstellt, wenn man etwas “verkackt” kann man einfach auf die alte Generation springen. Mit Deployment ist nicht nur Shopware gemeint, sondern das ganze Betriebsystem inklusive.

Das Composer Project führt für dich alle Migrationen und Plugin Updates durch

Das Setup bringt natürlich Nachteile für den Shopbetreiber wie er kann im Plugin Manager nichts hochladen, Auto Updater wird nicht funktionieren.

Die Plugins kannst du einfach in Composer einbinden mit https://packages.friendsofshopware.com

1 „Gefällt mir“

Genial! Sowas kenn ich aus TYPO3 und unterstütze ich voll.

Natürlich entgeht mir die Sicht der Kunden / Shopbetreiber nicht, doch die Qualität und Sicherheit steht für mich an erhöhter Priorität. Darum hat man sich ja einen Partner / eine Agentur ausgewählt.

Habe letzte Woche den link bereits gefunden und teste da gerne mal mit :slight_smile:

Wir arbeiten alle mit OSX, benutzen Docker in kombination mit Docker Sync (Nginx,MariaDB,Redis,ES ect.), dann wird das ganze auch Performant. Deployment machen wir mit Gitlab / CI. Auch wir setzen auf Composer, auch für die Plugins Composer. Danke an Shyim!! :slight_smile:

Vorteil für uns ist wir haben eine 1:1 Identische Umgebung wie die Live Instanz, alle Mitarbeiter haben die gleiche Umgebung, wie Shyim sagt sollte man Docker kennen!

Valet Plus muss ich mir mal anschauen.