J'ai mis en place un site Drupal sous contrôle git pour les travaux de développement.
Il est parenté dans un référentiel GIT nu, et au fur et à mesure que des modifications sont apportées dans mes divers clones git de travail de projet et repoussées vers le maître, un hook post-mise à jour pousse immédiatement les modifications vers un seul site Web de mise en scène en direct (http: / /staging.loc.). Rien de spécial, fonctionne comme prévu.
J'ai également créé un pseudonyme pour le site "@STAGING". À l'occasion, je souhaite promouvoir mes modifications du site de transfert vers un serveur de production.
Deux méthodes relativement simples me viennent à l'esprit:
(1) À un moment où le site de transfert semble stable, créez le site de production en tant que git checkout à partir du référentiel maître,
(2) utiliser drush rsync
+ drush sql-sync
du site de préparation au site de production.
Les deux peuvent fonctionner. Outre le fait que (2) semble plus centré sur Drupal / conscient par nature - le drush est, après tout, un ensemble d'outils spécifiques à Drupal - quels sont les mérites relatifs des deux approches?
Y a-t-il une raison particulière pour laquelle je devrais considérer (1) sur (2)?
Dans les deux cas, "Tout" est sous au moins une instance de contrôle de révision ...
"rsync' => array ('exclude-paths' => '.git:.DS_Store:.gitignore:.gitmodules:',"
dans le fichier .rc, bien que je ne sois pas encore sûr si j'en ai besoin à la fois dans les spécifications des alias source et cible ou simplement dans l'un ou l'autre.