EasyDeploy & Gregwar - RevisionTen/cms GitHub Wiki
Diese Anpassungen erfordern CMS v2.3.18+
Weil durch EasyDeploy das web_dir
Verzeichnis von gregwar_image
verändert wird, müssen nach jedem deployen die gecachten Bilder neu generiert werden.
Das verlangsamt die Seite, kostet Besucher und Strom.
Um das aktuelle Verzeichnis herauszufinden muss man auf dem Server den Befehl bin/console debug:config gregwar_image
ausführen.
Die Ausgabe sieht z.b. so aus:
gregwar_image:
web_dir: /usr/www/users/server_account/project_name/symfony/releases/123456789/public
cache_dir: cache
cache_dir_mode: null
throw_exception: false
fallback_image: null
Um ein neugenerieren der Bilder zu verhindern muss das Bildverzeichnis manuell festgelegt werden. Hier sollte nun stattdessen das tatsächliche (sich nicht verändernde) Verzeichnis angegeben werden. Zu diesem Zweck hinterlegen wir eine Config-Datei die nur für die PROD-Umgebung gilt:
config/packages/prod/gregwar_image.yaml
parameters:
gregwar_image_web_dir: '%env(IMAGE_WEB_DIR)%'
Die .env.local auf dem Server sieht dann z.b. so aus:
IMAGE_WEB_DIR=/usr/www/users/server_account/project_name/symfony/shared/public
Auf dem Server können wir nun wieder mit dem bin/console debug:config gregwar_image
-Befehl überprüfen ob die Änderungen wirksam sind.
Die Ausgabe muss so aussehen:
gregwar_image:
web_dir: '%env(IMAGE_WEB_DIR)%'
cache_dir: cache
cache_dir_mode: null
throw_exception: false
fallback_image: null
Da sich der Bildpfad nun nicht mehr zwischen den deployments unterscheidet werden die Cache-Bilder auch nicht mehr neugeneriert.