CI/CD-Integration.

Learn DXPR BuilderBuild pagesVolg een tutorial

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 einbeziehen.

Inhaltsspeicherung

DXPR Builder speichert seine Daten in der Datenbank und in der Konfiguration:

Datentyp Speicherung Deployment-Methode
Seiteninhalt Textfeldwerte (Datenbank) Inhaltssync 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 darauf zeigt Pro Umgebung; siehe unten

Konfigurationsverwaltung

DXPR Builder-Einstellungen und -Vorlagen sind Drupal-Konfiguration. Deployen Sie sie mit der Standard-Konfigurationsverwaltung von Drupal.

Export

drush config:export

Das 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

Committen Sie dxpr_builder.settings.yml nicht, solange der Produktschlüssel darin liegt; siehe unten Produktschlüssel.

Import

drush config:import

CI-Pipeline-Beispiel

drush deploy führt die Datenbank-Updates aus, importiert die Konfiguration und baut die Caches in der richtigen Reihenfolge neu. DXPR Builder-Versionen konvertieren Inhalte in ihren Datenbank-Updates, also führen Sie sie bei jedem Deploy aus.

deploy:
  script:
    - drush deploy -y

Inhalts-Deployment

Seiteninhalt (das HTML in Textfeldern) ist Datenbankinhalt, keine Konfiguration. Optionen, um Inhalte zwischen Umgebungen zu deployen:

Default-Content-Modul

Exportieren Sie Inhalte als YAML-Dateien und importieren Sie sie auf der Zielumgebung.

Content Synchronization

Nutzen Sie das Modul Content Synchronization (content_sync) zum Exportieren und Importieren von Inhaltsentitäten.

Datenbanksynchronisierung

Kopieren Sie die Datenbank von einer Umgebung in eine andere:

drush sql:sync @source @target

Umgebungsspezifisches

Dateipfade

DXPR Builder-Inhalte referenzieren hochgeladene Bilder per Dateipfad. Syncen Sie das Dateiverzeichnis zwischen Umgebungen.

Produktschlüssel

Jede Umgebung braucht einen gültigen Produktschlüssel. Unter dem Standard Configuration storage hält dxpr_builder.settings.yml diesen Schlüssel im Klartext, als json_web_token. Bevor die Datei in Ihr Repository geht:

  1. Erstellen Sie einen Key, dessen Provider 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) Storage method auf Key module, wählen Sie diesen Key unter Key und klicken Sie auf Save settings. Das 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 Configuration-Provider speichert den Wert in seiner eigenen exportierten Datei, also ist auch er nicht sicher zu committen.

Wie geht es weiter?

Content-Staging zwischen Umgebungen, um DXPR Builder weiter zu entdecken.