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?

Atish Goswami
quelle

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.

Futter
quelle
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