CI/CD-Integration.
DXPR-Builder-Inhalte liegen in Drupal-Textfeldern und Konfigurationsentitäten. Diese Seite erklärt, wie Sie DXPR-Builder-Inhalte in Ihre CI/CD-Pipeline und Deployment-Workflows einbinden.
Inhaltsspeicherung
DXPR Builder speichert seine Daten in der Datenbank und in der Konfiguration:
| Datentyp | Speicherung | Deployment-Methode |
|---|---|---|
| Seiteninhalte | Textfeldwerte (Datenbank) | Inhalts-Sync oder Migration |
| Seitenvorlagen | Konfigurationsentitäten | Konfigurationsexport/-import |
| Benutzervorlagen | Konfigurationsentitäten | Konfigurationsexport/-import |
| Einstellungen | Konfiguration; hält den Produktschlüssel unter Configuration storage | Konfigurationsexport/-import, sobald der Schlüssel in einer Key-Entität liegt; siehe unten |
| Benutzerprofile | Konfigurationsentitäten | Konfigurationsexport/-import |
| Produktschlüssel | Einstellungen, oder eine Key-Entität, die den Schlüssel hält oder auf ihn zeigt | Pro Umgebung; siehe unten |
Konfigurationsverwaltung
DXPR-Builder-Einstellungen und -Vorlagen sind Drupal-Konfiguration. Bringen Sie sie per Standard-Drupal-Konfigurationsverwaltung aus.
Export
drush config:export
Dies exportiert diese DXPR-Builder-Konfigurationsdateien:
dxpr_builder.settings.ymldxpr_builder.dxpr_builder_profile.*.ymldxpr_builder.page_template.*.ymldxpr_builder.user_template.*.ymlkey.key.dxpr_builder_jwt.yml, oder die für den Produktschlüssel gewählte Key-Entität
Comitten Sie dxpr_builder.settings.yml nicht, solange der
Produktschlüssel darin steht; siehe unten Produktschlüssel.
Import
drush config:import
CI-Pipeline-Beispiel
drush deploy führt Datenbank-Updates aus, importiert Konfiguration
und baut Caches in der richtigen Reihenfolge neu auf. DXPR-Builder-Releases
wandeln Inhalte in ihren Datenbank-Updates um, führen Sie sie daher bei
jedem Deploy aus.
deploy:
script:
- drush deploy -y
Inhalts-Deployment
Seiteninhalte (das HTML in Textfeldern) sind Datenbankinhalte, keine Konfiguration. Optionen, um Inhalte zwischen Umgebungen auszurollen:
Modul Default Content
Exportieren Sie Inhalte als YAML-Dateien und importieren Sie sie auf der Zielumgebung.
Content Synchronization
Nutzen Sie das Modul Content Synchronization (content_sync), um
Inhaltsentitäten zu exportieren und zu importieren.
Datenbanksynchronisation
Kopieren Sie die Datenbank von einer Umgebung in eine andere:
drush sql:sync @source @target
Umgebungsspezifische Hinweise
Dateipfade
DXPR-Builder-Inhalte referenzieren hochgeladene Bilder per Dateipfad. Synchronisieren Sie das Dateiverzeichnis zwischen Umgebungen.
Produktschlüssel
Jede Umgebung braucht einen gültigen Produktschlüssel. Unter der
Standardoption Configuration storage hält
dxpr_builder.settings.yml diesen Schlüssel im Klartext, als
json_web_token. Bevor die Datei in Ihr Repository wandert:
- Legen Sie einen Key an, dessen Anbieter eine Umgebungsvariable oder eine
Datei liest, unter Configuration > System > Keys
(
/admin/config/system/keys). - Setzen Sie unter DXPR Studio > DXPR Builder > General Settings
(
/admin/dxpr_studio/dxpr_builder/settings) die Storage method auf Key module, wählen Sie diesen Schlüssel unter Key und klicken Sie auf Save settings. Dies leertjson_web_token. - Exportieren Sie die Konfiguration erneut und prüfen Sie, dass
dxpr_builder.settings.ymlden Schlüssel nicht mehr enthält.
Ein Key mit dem Anbieter Configuration speichert den Wert in eigener exportierter Datei, daher ist auch er nicht commit-sicher.
Wie geht es weiter?
Content-Staging zwischen Umgebungen, um DXPR Builder weiter zu erkunden.