Intégration CI/CD.
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.ymldxpr_builder.dxpr_builder_profile.*.ymldxpr_builder.page_template.*.ymldxpr_builder.user_template.*.ymlkey.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 :
- Créez une Key dont le fournisseur lit une variable d’environnement ou un fichier, sous Configuration > System > Keys (
/admin/config/system/keys). - 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 effacejson_web_token. - Exportez de nouveau la configuration et vérifiez que
dxpr_builder.settings.ymlne 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.