config_exclude_modules: Config für Entwicklungs-Module ignorieren

veröffentlicht von gngn am Mi., 26.05.2021 - 10:25

Ich arbeite viel mit "Dev-Modulen" wie environment_indicator, reroute_email oder stage_file_proxy.
Problem ist dabei ja, dass das nicht in die git-verwaltete config kommen soll(te).
Genau dafür gibt es das setting 'config_exclude_modules'.

Seit core 8.8 (aber von mir grade erst entdeckt) ist folgendes in der settings.php (bzw. settings.local.php) möglich:
$settings['config_exclude_modules'] = [
  'environment_indicator',
  'environment_indicator_ui',
  'reroute_email',
  'stage_file_proxy',
];

Einmal cache rebuild, dann macht es genau das, was es verspricht: config  für die eingetragenen Module wird bei Config-Import und -Export ignoriert.
Mit obigen Einstellungen heißt das:

  • keine config Dateien environment_indicator.settings.yml, reroute_email.settings.yml, stage_file_proxy.settings.yml
  • keine Änderungen in core.extension.yml zu diesen Modulen

Keine Riesensache, macht aber einiges einfacher.

Die aufgeführten yml-Dateien habe ich dann noch in meiner .gitignore - et voila.

---

Nachtrag: Vorsicht ist geboten bei Modulen wie smtp, wo ich im Entwicklungs-System nur Änderungen an den settings vornehme. Nehme ich ein solches Modul in config_exclude_modules auf, so wird die gesamte config ignoriert - Änderungen z.b. bei Modul-Update kämen nicht in der Datei an!

---

Nachtrag 2: Leider werden Config-Änderungen, die nicht direkt zu den excluded Modulen gehören auch nicht gefiltert.
Das sind insbesondere permissions, z.B. 'access environment indicator'.
Da muss dann doch weiterhin von Hand drauf geachtet werden (oder doch was wie config_split oder Co probieren)...

Neuen Kommentar hinzufügen