Magento2 CI Server Integration für die Produktion


11

Welche Schritte, Richtlinien und Abläufe müssen für einen erfolgreichen Magento2 Continuous Integration-Workflow befolgt werden?

Antworten:


1

Wir arbeiten derzeit an der Verbesserung unseres Bereitstellungsprozesses in Magento 2. Ich würde mich über Ihr Feedback freuen - bitte pingen Sie mich auf Twitter oder per E-Mail an.

Im Moment würden Sie auf M2 Folgendes tun (in Ihrer Umgebung)

  • Code abrufen oder aktualisieren (git / etc ...)
  • Komponisten installieren
  • bin / magento Setup: Upgrade (oder Setup: Installation)
  • bin / magento set: Modusproduktion

Zu Ihrer Information: Modusproduktion macht a

  • bin / magento setup: di: compile
  • bin / magento setup: static-content: deploy

Es gibt einige andere Ansätze, die Sie jetzt verwenden können, um einem zweistufigen Build- und Bereitstellungsprozess näher zu kommen, aber sie sind ziemlich komplex.


Chuck, könnten Sie mehr über die komplexeren Bereitstellungsprozesse erklären?
Tjitse

Es befindet sich in der Entwicklung - wir werden es aufschreiben und als Teil der nächsten Version (2.2) veröffentlichen. Schauen Sie sich einige der neuen CLI-Befehle an, die wir in mainline hinzugefügt haben: app: config: dump, app: config: import, config: sensitive: set, config: set, config: show, setup: db: status. Die Idee ist, dass Sie Magento auf Ihrem Entwicklungscomputer installieren und wie gewünscht im Admin-Bereich konfigurieren. Führen Sie eine App aus: config: dump (am Ende eine config.php, env.php), kompilieren und statische Assets bereitstellen. Anschließend kopieren Sie Ihren Code (einschließlich der Assets) in die Produktionsumgebung (kopieren Sie Ihre env.php-Datei von Hand entsprechend) und richten Sie dann ein: Upgrade auf Produkt.
Chuck

Grundsätzlich ein 2-Pass-Bereitstellungsvorgang. Der erste Durchgang erfolgt auf Ihrem Entwicklungscomputer (dh keine Produktionsausfallzeit), der zweite Durchgang erfolgt in der Produktion (Codekopie + mögliche Ausfallzeit (Setup: Upgrade), wenn Sie eine Schemaänderung haben). Ziel ist eine Produktionsausfallzeit von <1 Minute mit Schemaänderung.
Chuck

Vorschlag: Führen Sie "Composer Install" nicht in der Produktion aus! Dies sollte in einer Phase vor der Bereitstellung im CI-Prozess erfolgen, um schwerwiegende Probleme zu vermeiden, wenn Packagist oder repo.magento.com nicht verfügbar sind. Sie können auch die anderen Magento-Befehle vor der Bereitstellung ausführen: Wenn Sie stattdessen ein vorkompiliertes Artefakt (Paket) bereitstellen, müssen Sie für DB + möglicherweise nichts anderes als "Magento-Setup: Upgrade" ausführen Cache-Flush, sobald der Code die Produktion erreicht hat. Minimierung der Ausfallzeit auf wenige Millisekunden (oder einige Sekunden) auch bei Schemaänderungen.
Gabriel Somoza
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.