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.