40 votes

Travailler avec le contrôle de version sur un projet Drupal/CMS

Je me demandais comment les équipes qui développent des sites à l'aide de Drupal (ou de tout autre CMS) intègrent le contrôle de version, subversion, git ou autre, dans leur flux de travail. Il est évident que vous souhaitez que votre code personnalisé et vos fichiers de thème soient sous contrôle de version, mais lorsque vous utilisez un CMS tel que Drupal, une grande partie du travail consiste à configurer les modules et les paramètres, qui sont tous stockés dans la base de données.

Alors, quand vous êtes une équipe de développeurs, comment collaborez-vous sur un projet comme celui-ci ? Je suppose qu'il est possible de vider la base de données dans un fichier et de placer ce fichier sous contrôle de version, mais lorsque le site est en ligne, le client ajoute constamment du contenu, ce qui rend la synchronisation un peu problématique.

J'aimerais savoir comment les autres font.

17voto

flamingLogos Points 3637

Vous avez raison de dire que c'est un problème pour Drupal : le contrôle de version fonctionne bien jusqu'à ce que vous remettiez le site à votre client ou que vous l'ouvriez aux utilisateurs.

Votre question semble être une version plus spécifique de ceci. un qui a abordé le contrôle de version dans le flux de travail de Drupal. Vous y trouverez peut-être des réponses qui vous aideront.

Pour certains projets, j'ai exporté toutes les vues vers le code, en utilisant cette fonctionnalité du module Views, et j'ai un projet où tous les blocs ont également été exportés. (Bien que ce soit un exercice de développement et non une chose habituelle à faire avec les blocs).

Jetez un coup d'œil au travail que Graine de développement fait pour contourner ce problème. Ils dirigent le développement de la Contexte , Caractéristiques y Espaces des modules qui fonctionnent ensemble pour stocker les données de configuration dans les modules (en dehors de la BD) afin qu'elles puissent être versionnées avec le code.

Il existe un groupe Drupal appelé Emballage et déploiement pour discuter des différentes solutions qui sont développées pour ce problème.

1voto

openist Points 382

En ce moment, de nombreux efforts sont déployés pour créer quelque chose qui permette de gérer les difficultés de développement -> production de Drupal en ce qui concerne la base de données. Les fonctionnalités que flaminglogos a mentionnées en sont une, mais je pense qu'elles sont plus axées sur la création de projets autonomes, c'est-à-dire ceux qui seraient installés sur de nombreux sites.

Pour une maintenance simple de vos bases de données de développement et de production, je jetterais un coup d'oeil à http://drupal.org/project/deploy y http://drupal.org/project/dbscripts . Ils prennent en charge la synchronisation et la fusion des données de configuration de Drupal du côté de la base de données.

Je ne peux pas garantir qu'ils sont prêts pour le prime time...

0 votes

Le module Deploy semble intéressant dans le screencast qui est lié à sa page de projet, et je suis d'accord pour dire que c'est une solution intéressante pour mettre à jour le contenu d'un seul site.

0voto

David Lemon Points 21

Il y a beaucoup d'efforts à faire pour livrer la prochaine version de Drupal avec la configuration dans le code. C'est la clé pour l'avoir dans un système de version.

Pour l'instant, vous pouvez utiliser le module de fonctionnalités, qui vous permet d'exporter des éléments tels que les types de contenu, les vues, etc. vers le code, puis de les comparer, de les versionner et de les modifier selon vos besoins.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X