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 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.ymldxpr_builder.dxpr_builder_profile.*.ymldxpr_builder.page_template.*.ymldxpr_builder.user_template.*.ymlkey.key.dxpr_builder_jwt.ymloder 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:
- Erstellen Sie einen Key, dessen Provider 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) Storage method auf Key module, wählen Sie diesen Key unter Key und klicken Sie auf Save settings. Das 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 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.