Wenn ich mein Plugin implementiere, mache ich das immer mit dem development Template und teste meine Änderungen auf localhost.
Dort funktionieren meine Änderungen auch wunderbar, jedoch habe ich immer Probleme, sobald ich mein Plugin auf unser Production System hochlade. Entweder wird das Javascript nicht erkannt oder der Service läuft nicht usw. Akut habe ich gerade den Fall, dass meine Route in meinem API Controller auf localhost angesteuert werden kann, aber mit dem selben Code auf dem Production System ein „No Route found“ Fehler kommt. Da solche Sachen recht häufig auftreten meine Frage:
Welche Schritte muss ich tun, damit mein Plugin sauber für das Production System vorbereitet wird?
Reicht es eigentlich sein Plugin zu zippen oder muss ich es z.B. zwingend erst auf localhost hochladen, dort dann ./psh.phar administration:build oder ./psh.phar storefront:build ausführen und mir den Ordner dann zippen?
Liegt es vielleicht am Cache oder muss man noch irgendwelche Skripte auf dem Production System laufen lassen?
Ich bin hier momentan recht ratlos, wie hier das Vorgehen ist und fände es super, wenn mir jemand helfen könnte.
die build - Skripte sollten auf jeden Fall beim Entwickeln im development - Template ausgeführt werden, da sie ja den kompilierten CSS- und JavaScript-Code liefern, der dann im production - Template genutzt wird. Andernfalls müsste man ja sonst die build - Skripte im production - Template ausführen.
produktivumgebung bei einem shop hosting dienstleister
sobald ich auf dem dev laptop ein neues plugin erstelle, erstelle ich auch gleich ein git repository mit. datenübertragung findet lediglich über git(hub) statt, ich pushe vom dev system und clone/pull auf dem produktivsystem.
vor einem pull (update) deaktiviere ich das entsprechende plugin, danach die pluginübersicht im adminbereich frontend aktualisieren, gegebenfalls das plugin updaten (der button auf dem man normalerweise zum de-/installieren drückt) und danach wieder aktivieren.
frontend module müssen(sollten) wie sschreier schon angemerkt hat auf der dev-instanz durch das build system noch in javascript umgewandelt werden