CI/CD-integratie.

DXPR Builder lerenDe site beherenNaar productie

DXPR Builder-inhoud wordt opgeslagen in Drupal-tekstvelden en configuratie-entiteiten. Deze pagina legt uit hoe je DXPR Builder-inhoud opneemt in je CI/CD-pipeline en deploymentworkflows.

Inhoudsopslag

DXPR Builder slaat zijn data op in de database en in configuratie:

Gegevenstype Opslag Deploymentmethode
Paginainhoud Tekstveldwaarden (database) Inhoudssynchronisatie of migratie
Paginasjablonen Config-entiteiten Config-export/import
Gebruikerssjablonen Config-entiteiten Config-export/import
Instellingen Config; bevat de productsleutel onder Configuration storage Config-export/import zodra de sleutel in een Key-entiteit staat; zie hieronder
Gebruikersprofielen Config-entiteiten Config-export/import
Productsleutel Instellingen, of een Key-entiteit die de sleutel bevat of ernaar verwijst Per omgeving; zie hieronder

Configuratiebeheer

Instellingen en sjablonen van DXPR Builder zijn Drupal-configuratie. Deploy ze met standaard Drupal-configuratiebeheer.

Exporteren

drush config:export

Dit exporteert deze DXPR Builder-configbestanden:

  • 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, of de Key-entiteit die voor de productsleutel is geselecteerd

Commit dxpr_builder.settings.yml niet zolang de productsleutel erin staat; zie Productsleutels hieronder.

Importeren

drush config:import

CI-pipelinevoorbeeld

drush deploy draait de database-updates, importeert configuratie en herbouwt caches in de juiste volgorde. DXPR Builder-releases converteren inhoud in hun database-updates, dus draai die bij elke deploy.

deploy:
  script:
    - drush deploy -y

Contentdeployment

Paginainhoud (de HTML in tekstvelden) is database-inhoud, geen configuratie. Opties voor het deployen van inhoud tussen omgevingen:

Module Default Content

Exporteer inhoud als YAML-bestanden en importeer ze op de doelomgeving.

Content Synchronization

Gebruik de module Content Synchronization (content_sync) om inhoudsentiteiten te exporteren en importeren.

Databasesynchronisatie

Kopieer de database van de ene omgeving naar de andere:

drush sql:sync @source @target

Omgevingsspecifieke overwegingen

Bestandspaden

DXPR Builder-inhoud verwijst met bestandspaden naar geüploade afbeeldingen. Synchroniseer de files-map tussen omgevingen.

Productsleutels

Elke omgeving heeft een geldige productsleutel nodig. Onder de standaard Configuration storage bevat dxpr_builder.settings.yml die sleutel als leesbare tekst, als json_web_token. Voordat het bestand je repository in gaat:

  1. Maak een Key waarvan de provider een omgevingsvariabele of een bestand leest, bij Configuration > System > Keys (/admin/config/system/keys).
  2. Zet bij DXPR Studio > DXPR Builder > General Settings (/admin/dxpr_studio/dxpr_builder/settings) Storage method op Key module, kies die key onder Key en klik op Save settings. Dit wist json_web_token.
  3. Exporteer de configuratie opnieuw en controleer of dxpr_builder.settings.yml de sleutel niet meer bevat.

Een Key met de provider Configuration bewaart de waarde in zijn eigen geëxporteerde bestand, dus die is evenmin veilig om te committen.

Wat nu?

Contentstaging tussen omgevingen om DXPR Builder verder te verkennen.