Intégration CI/CD.

Learn DXPR BuilderManage the siteNaar productie

Le contenu de DXPR Builder est stocké dans des champs de texte Drupal et des entités de configuration. Cette page explique comment inclure le contenu DXPR Builder dans votre pipeline CI/CD et vos flux de déploiement.

Stockage du contenu

DXPR Builder stocke ses données dans la base de données et dans la configuration :

Type de données Stockage Méthode de déploiement
Contenu des pages Valeurs de champ de texte (base de données) Synchronisation ou migration de contenu
Modèles de page Entités de configuration Export et import de configuration
Modèles d’utilisateur Entités de configuration Export et import de configuration
Réglages Configuration ; contient la clé de produit sous Configuration storage Export et import de configuration une fois la clé dans une entité Key ; voir ci-dessous
Profils d’utilisateur Entités de configuration Export et import de configuration
Clé de produit Réglages, ou une entité Key contenant la clé ou pointant vers elle Par environnement ; voir ci-dessous

Gestion de la configuration

Les réglages et modèles DXPR Builder sont de la configuration Drupal. Déployez-les avec la gestion de configuration Drupal standard.

Exporter

drush config:export

Cela exporte ces fichiers de configuration DXPR Builder :

  • 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, ou l’entité Key choisie pour la clé de produit

Ne commitez pas dxpr_builder.settings.yml tant que la clé de produit s’y trouve ; voir Clés de produit ci-dessous.

Importer

drush config:import

Exemple de pipeline CI

drush deploy exécute les mises à jour de base de données, importe la configuration et reconstruit les caches dans le bon ordre. Les versions DXPR Builder convertissent le contenu dans leurs mises à jour de base de données, donc exécutez-les à chaque déploiement.

deploy:
  script:
    - drush deploy -y

Déploiement du contenu

Le contenu des pages (le HTML dans les champs de texte) est du contenu de base de données, pas de la configuration. Options pour déployer le contenu entre environnements :

Module Default Content

Exportez le contenu comme fichiers YAML et importez-les sur l’environnement cible.

Content Synchronization

Utilisez le module Content Synchronization (content_sync) pour exporter et importer les entités de contenu.

Synchronisation de la base de données

Copiez la base de données d’un environnement vers un autre :

drush sql:sync @source @target

Points propres à chaque environnement

Chemins de fichiers

Le contenu DXPR Builder référence les images téléversées par chemin de fichier. Synchronisez le répertoire des fichiers entre environnements.

Clés de produit

Chaque environnement a besoin d’une clé de produit valide. Sous le Configuration storage par défaut, dxpr_builder.settings.yml contient cette clé en clair, comme json_web_token. Avant que le fichier n’entre dans votre dépôt :

  1. Créez une Key dont le fournisseur lit une variable d’environnement ou un fichier, sous Configuration > System > Keys (/admin/config/system/keys).
  2. Sous DXPR Studio > DXPR Builder > General Settings (/admin/dxpr_studio/dxpr_builder/settings), réglez Storage method sur Key module, choisissez cette clé sous Key et cliquez sur Save settings. Cela efface json_web_token.
  3. Exportez de nouveau la configuration et vérifiez que dxpr_builder.settings.yml ne contient plus la clé.

Une Key avec le fournisseur Configuration stocke la valeur dans son propre fichier exporté, donc elle n’est pas non plus sûre à committer.

Et ensuite ?

Staging de contenu entre environnements pour continuer à explorer DXPR Builder.