Ich bin auf der Suche nach der Einrichtung eines Bereitstellungsprozesses für eine stark angepasste Magento-Website und frage mich, wie andere Leute das machen.
Ich werde Dev-, UAT- und Prod-Umgebungen einrichten. Alle Magento-Dateien werden in der Quellkontrolle (SVN) sein. Zu diesem Zeitpunkt sehe ich keine Anforderungen für eine Änderung der DB, daher werden die 3 Datenbanken manuell gepflegt.
Konkret,
- Wie wenden Sie Magento-Upgrades an? (Individuell in jeder Umgebung, oder auf Dev und dann rollout, oder einfach auf Upgrades verzichten?)
- Welche Dateien/Ordner lassen Sie in jeder Umgebung unberührt (z. B. magento/app/etc/local.xml)
- Beschränken Sie Entwickler darauf, bestimmte Dateien/Ordner zu bearbeiten?
- Beschränken Sie Designer von Themes darauf, bestimmte Dateien/Ordner zu bearbeiten?
- Wie verwalten Sie Datenbankänderungen?
Dateien/Ordner des Designers des Themes
Designer können darauf beschränkt werden, die folgenden Ordner zu bearbeiten-
app/design/frontend/your_interface/your_theme/layout/
app/design/frontend/your_interface/your_theme/template/
app/design/frontend/your_interface/your_theme/locale/
skin/frontend/your_interface/your_theme/
Dateien/Ordner des Erweiterungsentwicklers
Erweiterungsentwickler können die folgenden Ordner/Dateien bearbeiten-
/app/code/local
/app/etc/modules/_.xml
Verwaltung der Datenbankumgebung
Da die Basis-URL des Stores in der Datenbank gespeichert ist, kann man die Datenbanken nicht einfach zwischen den Umgebungen kopieren. Optionen sind-
- Überschreiben der Basis-URL in PHP. Blogartikel zur Einrichtung von Dev- und Staging-Datenbanken
- Ändern der Basis-URL in der Datenbank nach dem Kopieren. (Wo ist das gespeichert?)
- Einen MySQLDump oder ein Backup machen und dann eine Ersetzung der URL in der SQL-Datei durchführen.
0 Stimmen
Du möchtest vielleicht "beste Antwort" unten entfernen, da sie nicht einmal auf deine Hauptpunkte eingeht.
0 Stimmen
Fair point. Ich denke, dass diese Antwort einen guten Punkt macht, aber ich lasse gerne durch die Abstimmung über die Bedeutung der Antworten entscheiden.
0 Stimmen
Keine Sorge - Ich denke einfach, dass die Antwort, die tatsächlich die Frage beantwortet, die "beste Antwort" sein sollte, unabhängig von den Stimmen. Wenn eine Antwort das Problem in keiner Weise löst, ist es keine sehr gute Antwort :)