Ce qui est le mieux Drupal stratégie de déploiement?
Je suis en train de travailler sur mon premier projet Drupal sur XAMPP dans mon MacBook. Il s'agit d'un prototype et reçoit des commentaires positifs de mon client.
Je vais déployer le projet sur un Linux VPS deux semaines plus tard. Est-il un meilleur moyen que le " re-faire un require tout sur le serveur à partir de zéro?
- installer Drupal
- les modules de téléchargement (CCK, Views, Date, Calendrier)
- créer le Contenu
- ...
Grâce
- Question 37, 34 étoilé, de répondre à 39, maintenant fermé comme hors sujet... après 3 ans, cette question a été posée. Sans paroles.
- Cette question devrait probablement être déplacé vers Drupal.SE.
Vous devez vous connecter pour publier un commentaire.
Un couple de conseils:
Utilisation de contrôle de source, PAS de FTP/etc., pour les fichiers. Il n'a pas d'importance ce que vous utilisez; nous avons tendance à tourner un Unfuddle.com subversion compte, pour chaque client, de sorte qu'ils ont un endroit pour se connecter bugs, mais la première étape est l'obtention de l'arborescence complète du code source de votre site dans le contrôle de version. Lorsque des modifications sont effectuées sur le serveur de test ou de mise en scène serveur, à vous de voir si elles fonctionnent, vous vous engagez, puis vous mettre à jour sur le serveur live. Des retours en arrière et de déploiement reçoit beaucoup, beaucoup plus simple. Pour les clusters de plusieurs webheads vous pouvez répéter le processus, ou rsync à partir d'un seul canoniques serveur.
Si vous utilisez SVN, cependant, vous pouvez également utiliser CVS extractions de Drupal et d'autres modules/thèmes et le SVN/CVS les métadonnées seront capables de vivre à côté les uns des autres et heureusement.
Pour y ranger des dossiers comme le répertoire des fichiers, utiliser un lien symbolique dans le " bon " emplacement pour pointer vers un serveur de répertoire en dehors de la racine web. Qui permet à votre contrôle à la source repo inclure tout le code et un lien symbolique, au lieu de tout le code et tous les fichiers utilisateurs ont téléchargé.
Bases de données sont plus difficiles; le nettoyage de la dev/mise en scène DB et en le poussant à vivre est plus facile pour le déploiement initial, mais il y a quelques rides quand vous faites différentiels DB mises à jour si les utilisateurs sur le site en direct sont également la génération de contenu.
J'ai fait une présentation sur Drupal déploiement des meilleures pratiques l'année dernière. N'hésitez pas à consulter la glisse.
Caractéristiques.le module est un outil extrêmement puissant pour la gestion de Drupal modifications de configuration.
Types de contenu CCK paramètres, de Vues, de Drupal Variables, des Contextes, des Imagecache presets, des Menus, des Taxonomies, et les Autorisations peuvent tous être roulé dans une fonction, ce qui peut être vérifié dans le contrôle de version. À partir de là, le déploiement d'un nouveau site, ou de pousser des changements à un existant, est géré avec les Fonctionnalités de l'INTERFACE utilisateur ou Drush.
Assurez-vous d'installer Strongarm.module pour l'exportation de drupal config qui est stocké dans votre tableau Variables. Vous pouvez également le contenu statique/nœuds (c'est à dire: à propos de nous, faq, etc) dans des Fonctions en installant uuid_features.le module.
Mains vers le bas, c'est la meilleure façon de travailler avec d'autres développeurs sur le même site, et pour déplacer votre site de Développement pour les Essais de mise en scène et la Production.
Nous avons eu une discussion approfondie sur cette question à mon lieu de travail, et la façon dont nous avons finalement opté pour pousser mises à jour du code (y compris les modules et thèmes) de l'élaboration à la mise en scène de la production. Nous sommes à l'aide de Subversion pour cela, et ça fonctionne bien jusqu'à présent.
Ce qui est particulièrement important, c'est que vous automatiser un processus pour pousser la base de données retour de la production, de sorte que vos développeurs peuvent garder leurs copies de la base de données en tant que proche de production possible. Dans un critiques de l'environnement, vous voulez être absolument certain d'un module de mise à jour n'est pas un tuyau de votre base de données. Le processus que nous utilisons est comme suit:
Et c'est tout. Une chose que vous ne pouvez pas attendre pour un cadre communautaire, tels que Drupal est d'être en mesure de déplacer votre base de données de test pour la production après vous allez vivre. À partir de là, toutes les base de données de mouvements sont issus de la production, des essais, ce qui complique le processus de déploiement un peu. Attention! 🙂
Nous utilisons les Fonctionnalités du module de façon extensive pour les fonctions de capture et de les installer facilement sur le site de production.
Je suis surpris que personne n'ait mentionné le Déploiement module. Voici un extrait de sa page de projet:
Je ne travaille pas avec Drupal, mais je travaille avec Joomla beaucoup. - Je déployer par l'archivage de tous les fichiers dans la racine web (tar et gzip dans mon cas, mais vous pouvez utiliser le zip), puis le téléchargement et l'expansion de cette archive sur le serveur de production. J'ai ensuite prendre un dump SQL (mysqldump-u utilisateur -h host -p databasename > dump.sql), téléchargez et utilisez le verso de commande pour insérer les données (mysql -u produser -h prodDBserver -p prodDatabase < dump.sql). Si vous n'avez pas accès au shell, vous pouvez télécharger les fichiers un à un temps et d'écrire un script PHP pour l'importation d'un dump.sql.
Tout système de contrôle de version (GIT, SVN) + Caractéristiques module de déployer Drupal code + paramètres personnalisés (types de contenu, les champs personnalisés, les dépendances des modules, vues, etc.).
Comme Déployer module est encore en mode de développement, de sorte que vous pouvez utiliser Nœud à l'exportation module Drupal 7 pour déployer votre contenu /nœuds.
Si vous êtes nouveau sur le déploiement (et ou Drupal), alors assurez-vous de faire tout en un seul morceau.
Vous devez être très prudent lorsque il y a des utilisateurs d'effectuer le contenu pendant que vous travaillez sur une autre copie.
Il est possible de laisser les tables qui se rapportent au contenu réel, de la taxonomie, des utilisateurs, etc. plutôt que de leur structure. Poussez ensuite celles relatives à la configuration. Cependant, cet ajout d'un ordre de grandeur de la complexité.
Excuses si le déploiement est quelque chose de vieux chapeau à vous, donc c'est vaguement insultant.
Une bonne stratégie que j'ai trouvé et je suis actuellement à la mise en œuvre consiste à utiliser une combinaison de déploiement du module de migrer mon contenu, puis drush avec dbscripts de fusionner et de mettre à jour le noyau et les modules. Il prend soin de la base de données de la fusion, même si vous avez du contenu en direct, de sécurité et des mises à jour du module, et j'ai actuellement le mien mis en place pour travailler avec svn.