Best Practice für die Bereitstellung / Entwicklungssite

7

Ich bin neu in Magento und habe an meiner ersten Site gearbeitet. Jetzt kann sie live geschaltet werden. Mir wurde geraten, einmal live auch eine Staging- oder Entwicklungssite zu erstellen, damit ich dies in Zukunft abarbeiten kann, bevor ich neue Änderungen an meiner Live-Site vornehme.

Kann ich fragen, was die besten Praktiken bei der Einrichtung sind? Mein Webhosting hat angegeben, dass sie anbieten können, es in einem Unterverzeichnis meiner vorhandenen Domain einzurichten, aber es wird nur eine Kopie der Dateien und der Datenbank sein (wodurch sich mein erforderlicher Speicherplatz verdoppelt), und ich müsste das manuell verschieben und kopieren Dateien und Datenbankinformationen. Ist das der einzige Weg?

Ich habe einen Artikel gesehen, aber es war ein virtueller Server erforderlich, um die Testsite zu speichern, auf der ich keine oder keine Kenntnisse zum Einrichten habe

komische Ente
quelle

Antworten:

6

Zumindest sollten Sie einen Staging-Server mit der gleichen Konfiguration haben, die Ihre Live-Site hat. Dies dient dazu, Probleme mit der Serverkonfiguration zu vermeiden.

Es ist auch keine gute Idee, es auf demselben Server zu haben, da beide Sites dieselben Ressourcen zum Ausführen verwenden, was Ihre Live-Site verlangsamen kann.

Ein gemeinsames Umgebungssetup kann aus zwei separaten Servern bestehen, einem für PROD und einem für Staging / QA mit demselben Setup, die möglicherweise mit Ansible und / oder Vagrant bereitgestellt werden.

Für Bereitstellungen möchten Sie vielleicht Jenkins verwenden, um Dinge zu automatisieren, und als Hosting-Anbieter mag ich Amazon persönlich. Eine mittlere bis große Instanz mit RDS und Elasticache ist meiner Erfahrung nach ziemlich schnell.

Ich habe diese VM für die Entwicklung von Magento erstellt. Sie können sie auch ausprobieren: https://github.com/miguelbalparda/vm

mbalparda
quelle
Vielen Dank für den Rat und Link, sehr informativ. Ich werde versuchen, das gleiche
einzurichten
VM befindet sich in einem frühen Stadium. Ich benutze es, da es in einem der Unternehmen, mit denen ich zusammenarbeite, einige Dinge zu verbessern hat. Fühlen Sie sich frei, es zu teilen und Verbesserungen zu PR.
Mbalparda
Wie gehe ich mit Kunden um? Ich bin besorgt, wenn die Staging-Site E-Mails an Kunden sendet. Wahrscheinlich aus Bestellungen, Sendungen, Newsletter-E-Mails usw.
Adarsh ​​Khatri
1

Wir haben ein völlig anderes Hosting-Konto für unseren Entwicklungsserver eingerichtet. Wir versionieren unseren Code mit Beanstalk Git und entwickeln ihn lokal mit einem MAMP / WAMP-Stack.

Auf diese Weise können wir unsere Änderungen erstellen und lokal testen. Checken Sie dann die Dateien ein und bewerben Sie sich mit einem Klick zur Entwicklung. Wir testen dort erneut und wenn alles in Ordnung ist, fördern Sie die Produktion.

Sie müssen natürlich die Konfigurationseinstellungen verwalten, aber im Hinblick auf Änderungen an Codedateien funktioniert dies für uns sehr gut.

Der Entwicklungsserver sollte ähnliche Funktionen wie Ihr Produktionsserver haben, muss jedoch nicht über so viele Ressourcen (CPU-Kerne, RAM) verfügen wie Ihr Produktionsserver. Zum Beispiel haben wir bei MageMojo ein Basiskonto für unseren Entwicklungsserver, dort jedoch ein viel größeres Konto für unsere Produktionsinstanzen. Wir können mehrere Installationen auf einem Entwicklungsserver erstellen, selbst wenn wir mehrere Produktionskonten haben.

Der Schlüssel ist die Versionierung. Die Versionierung in Magento kann etwas schwierig sein (insbesondere die Datei local.xml), aber wenn Sie diese Datei (und die Medien, var-Verzeichnisse usw.) ignorieren, funktioniert sie recht gut. Dadurch erhalten Sie auch Rollback-Funktionen.

novusweb
quelle
-1

Persönlich verwende ich xampp (wamp oder mamp), um MySQL- und Apache-PHP-Server auf meinem persönlichen PC zu haben, und installiere dann Magento mit den Beispieldaten http://www.magentocommerce.com/download, dann können Sie entwerfen, entwickeln, und brechen Sie es. Sobald ich zufrieden bin, verwende ich einen FTP-Client, um sie auf meine Live-Bereitstellung von Magento zu übertragen.

DurbanVisuals
quelle
1
Hast du gerade FTP erwähnt? Verdammt, es ist immer noch nicht tot? Ehrlich gesagt möchten Sie während der Bereitstellung die Befehlskontrolle über Ihren Server, falls das Upgrade Ihren Administrator verpfuscht. Insbesondere, wenn Sie oder Ihr Client sich keinen vollständigen DTAP-Stack und keine Tools leisten können, mit denen Änderungen rückgängig gemacht werden können.
Melvyn