CI/CD-Integration.

DXPR Builder lernenWebsite verwaltenIm Live-Betrieb

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.yml
  • dxpr_builder.dxpr_builder_profile.*.yml
  • dxpr_builder.page_template.*.yml
  • dxpr_builder.user_template.*.yml
  • key.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:

  1. Legen Sie einen Key an, dessen Anbieter eine Umgebungsvariable oder eine Datei liest, unter Configuration > System > Keys (/admin/config/system/keys).
  2. 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 leert json_web_token.
  3. Exportieren Sie die Konfiguration erneut und prüfen Sie, dass dxpr_builder.settings.yml den 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.