Anleitungen im Zusammenhang mit Beach

Wie man ein Startskript ausführt, wenn eine Instanz bereitgestellt wird

Wenn eine Instanz bereitgestellt wird, kann sie benutzerdefinierte Skripte ausführen, bevor sie Datenverkehr erhält.

Container-Skripte

Wenn ein Instanzcontainer gestartet wird, führt Beach automatisch einige Aktionen aus - zum Beispiel wird doctrine:migrate aufgerufen, um das Datenbankschema für den neuen Code vorzubereiten, der live gehen soll. Dies wird über einen Schalter in der Benutzeroberfläche Beach gesteuert.

Eigene Startup-Skripte

Du kannst aber auch deine eigenen Skripte ausführen, indem du einfach eine bestimmte Datei im Stammverzeichnis deines Projekts platzierst.

Die Details

Wenn du eine Instanz bereitstellst, wird ein neuer Container im Cluster gestartet. Wenn er läuft, werden alle Startskripte ausgeführt, und sobald das geschehen ist, teilt der Container dem Cluster-Management mit, dass er bereit ist, Datenverkehr zu empfangen.

Erstelle einfach eine Datei namens beach-startup .sh, lege sie im Hauptverzeichnis deines Projekts ab und setze sie ein. Hier ist ein Beispiel, das sicherstellt, dass die Job-Worker-Warteschlangen eingerichtet werden, bevor die Anwendung live geht:

beach-startup.sh

#!/bin/bash /application/flow queue:setup Stripe

Hier ist ein weiteres Beispiel, das den Content-Cache einer Neos 3.x oder höheren Version bei jedem Einsatz leert:

beach-startup.sh

#!/bin/bash /application/flow flow:cache:flushone Neos_Fusion_Content

Deaktivieren von benutzerdefinierten Skripten

Falls du eine beach-startup .sh in deinem Repository hast, sie aber aus irgendeinem Grund nicht in einer Instanz ausführen möchtest, kannst du die Instanzvariable BEACH_APPLICATION_CUSTOM_STARTUP_SCRIPTS_ENABLE auf false setzen.