Wie ein Schweizer Messer bietet das OpenSource Tool n98-magerun vielfältige Möglichkeiten für Entwickler, eine Magento Installation aufzusetzen, zu prüfen und zu manipulieren. Mit einfachen Befehlen läßt sich ein Magento von Grund auf installieren, mit Beispieldaten versehen und noch viel einfacher können wie in einem Kickstarter die Grundstrukturen für neue Module angelegt werden.
Dazu ist das Tool frei erweiterbar und kann mit eigenen Befehlen stets weiter verbessert werden.
Magento auf der Kommandozeile: n98-magerun, ein netz98 Tool
1. 03.06.2013 – Leipzig – Meet Magento
Magento auf der
Kommandozeile:
n98-magerun, ein netz98
Tool
Christian Münch
Leiter Technische Entwicklung netz98
2. netz98 new media GmbH · www.netz98.de · info@netz98.de · +49 (0)6131 / 907 98-98
CLI Tool
Sammlung von Kommandos
Schwerpunkt Entwickler, Admins
Basiert auf Komponenten des Symfony Frameworks
Teilweise interaktiv
Größtenteils mit Tests abgedeckt
Ziele
Lästige Aufgaben abnehmen
Beseitigt „Shell-Script-Sammlungen“
Nutzt eingebetteten Composer zum Auflösen von Abhängigkeiten
Einfache Installation/Update über eine ausführbare phar Datei
– https://github.com/netz98/n98-magerun
– n98-magerun.phar self-update
Was ist n98-magerun? Hier ein paar Eckdaten
3. netz98 new media GmbH · www.netz98.de · info@netz98.de · +49 (0)6131 / 907 98-98
So wird n98-magerun benutzt
4. netz98 new media GmbH · www.netz98.de · info@netz98.de · +49 (0)6131 / 907 98-98
Wie ist n98-magerun organisiert?
4
18
13
6
5
5
5
5
4
3
32
dev
sys
db
cache
extension
customer
top level
admin
config
index
cms
5. netz98 new media GmbH · www.netz98.de · info@netz98.de · +49 (0)6131 / 907 98-98
n98-magerun - Shell
6. netz98 new media GmbH · www.netz98.de · info@netz98.de · +49 (0)6131 / 907 98-98
Einsatz in Qualitätssicherung (z.B. Jenkins Server)
Rewrite Konflikt Erkennung
Erkennung von Dubletten in Themes
Einsatz im Deployment (z.B. Capistrano)
Schaltung der Wartungsseite
Ausführen der Setup-Skripte
Scripten von Konfigurationen für die Entwickler
„Entschärfen“ der Store-Config (Payment auf Sandbox umstellen)
Automatisches Projekt-Setup
„script“ Kommando
Erweiterte Möglichkeiten
6
7. netz98 new media GmbH · www.netz98.de · info@netz98.de · +49 (0)6131 / 907 98-98
config.yaml in Distribution
Systemspezifische Konfiguration in /etc/n98-magerun.yaml
Benutzerspezifische Konfiguration in ~/.n98-magerun.yaml
Projektspezifische Konfiguration in MAGENTO/app/etc/n98-magerun.yaml
Vererbung von Konfigurationen
Distribution
(.phar)
System
Benutzer
Projekt
überschreibt
8. netz98 new media GmbH · www.netz98.de · info@netz98.de · +49 (0)6131 / 907 98-98
Eigene Kommandos erstellen
9. netz98 new media GmbH · www.netz98.de · info@netz98.de · +49 (0)6131 / 907 98-98
Registrieren eines eigenen Kommandos
10. Christian Münch
Leiter Technische Entwicklung netz98
Bei netz98 seit 2005
Berufserfahrung 10 Jahre
Haben Sie Fragen?
c.muench@netz98.de
twitter.de/cmuench
github.com/cmuench
11. netz98 new media GmbH · www.netz98.de · info@netz98.de · +49 (0)6131 / 907 98-98
E-Commerce ist unsere Leidenschaft…
11
… und mit dieser Leidenschaft bauen wir unseren Standort Mainz weiter aus.
Wir sind kein anonymer Konzern, sondern eine erfolgreiche und wachsende
E-Commerce-Agentur.
Bei uns zählt die Initiative – und nicht die Hierarchie.
Unsere aktuellen Stellenangebote finden Sie auf netz98.de/karriere
Hinweis der Redaktion
CLI Tool Konsole öffnen; cd ins Verzeichnis; Ausführen der phar Datei Kein Magento Modul Ein Tool für alle Magento Installation auf dem Rechner Sammung von Kommandos Jeder kennt das Problem Composer Nutzung der Download Funktion Src → Drittbibliotheken ebenfalls Composer Einfache Installation Download von github als Phar Dateie; Ausführbar machen; Ausführen
Wie sehen einen einfachen Aufruf der phar Datei ohne Parameter. Symfony Console Komponente Erlaubt Aliase Management von Optionen und Argumenten Alle Kommandos sind Symfony Kommandos Gruppiert Kommandos zu Gruppen Erkennt Vertipper und schlägt Alternativen vor. Kommandos müssen nicht voll ausgeschrieben werden wie z.B. ca:f → Solange es Eindeutig ist
dev:module:create dev:module:list dev:module:observer:list dev:module:rewrite:conflicts dev:profiler dev:template-hints dev:theme:list dev:theme:duplicates dev:translate:shop sys:check und sys:info sys:cron:list und sys:cron:run sys:setup:run sys:setup:compare-versions db:dump und db:import
Basis Klasse ist von Symfony Command abgeleitet Alle Magento Klassen stehen nach dem „init“ zur Verfügung. Mage Klassen benötigen einen Backlash als Prefix
Nüchterne Darstellung passend zu unseren Standardfolien.