Deuxième épisode de mes vidéos de mini-formations à Drupal avec au sujet du jour un point important : la gestion de la configuration dans Drupal.
Qu'est-ce que la configuration ? Comment l'exporter, l'importer, mais aussi et surtout comment, à l'aide du module config_split.
Retrouvez la vidéo sur youtube à l'adresse suivante : https://youtu.be/qy_nq3_sbyM
ou bien directement ci-dessous :
Pour proposer des sujets, c'est par ici.
Quelques indications / précisions.
Drush
Installé dans vendor/bin/drush, il peut être appelé directement via se chemin
# Depuis la racine de votre projet
vendor/bin/drush COMMANDE
Il est aussi possible d'installer drush-launcher pour éxecuter directement la commande drush : https://github.com/drush-ops/drush-launcher
Activer manuellement un environnement de config split
Dans votre fichier settings.local.php :
// « dev » correspond au nom machine de l'environnement à activer
$config['config_split.config_split.dev']['status'] = TRUE;
Les spécificités de l'environnement « prod »
La configuration spécifique de production est exportée dans un dossier ../config/prod
Via un .gitignore, j'exclue du versioning le contenu de ce dossier, afin que si la configuration est modifiée en prod, son export ne gène pas GIT, qu'il ne détecte pas de fichiers modifié.
Process d'un déploiement en production
Qu'il soit automatisé ou non, pour rappel, cette solution me convient personnellement, mais elle ne répond pas forcément à toutes les problématiques, n'hésitez-pas à l'adapter si besoin.
- Connexion en SSH au serveur
- Script vérifiant qu'aucun fichier n'a été modifié via un
git status
, si des fichiers sont modifiés alors un mail m'est envoyé et le déploiement est annulé - Script vérifiant que la configuration active n'a pas été modifiée directement en prod. Pour cela un config export est fait, si des modifications sont détectées (encore via un
git status
) alors un mail m'est envoyé et le déploiement est annulé. La configuration spécifique à l'environnement étant exportée dans un dossier exclu du versioning, alors aucune modification n'est détectée. git pull
(ou) composer install --no-dev
pour instadrush updb
(pour lancer les éventuelles mise à jour de la base de données)drush config:import
afin d'importer la configuration éventuellement modifiée, (la config spécifique de prod ayant été exportée à l'étape 3, elle sera réimportée à ce moment là.
Contenus en rapport
J'ai mis en ligne tard vendredi soir ma première vidéo de mini-formation à drupal.
J'ai commencé par un sujet basique : Le téléchargement et l'installation du CMS Drupal avec composer.
La vidéo est disponible gratuitement sur youtube et dure 20 minutes.
Ajouter un commentaire