Avez-vous des stratégies efficaces pour lancer une v2 d'un site WP?

12

Mon équipe et moi-même travaillons avec un client qui possède un site WordPress existant avec un contenu assez important et un thème personnalisé qu’ils ont créé. Il s’agit d’un blog de groupe, c’est-à-dire que plusieurs blogueurs du monde entier y ajoutent & éditer le contenu tout le temps.

Notre travail consiste à créer un thème entièrement nouveau, avec quelques nouvelles fonctionnalités. Certaines de ces fonctionnalités nécessiteront de nouveaux widgets, plugins et champs de base de données personnalisés.

Nous travaillons actuellement sur nos propres machines de développement et nous les intégrons dans un serveur de développement unique. Tout le code est versionné en SVN. Notre administrateur de base de données désigné fusionne manuellement toutes les modifications de base de données dans la base de données dev dès maintenant, mais nous espérons qu’il pourra l’automatiser prochainement.

Nous venons juste de commencer à parler de notre processus de publication en production. Signification: une fois que nous aurons terminé, comment allons-nous transférer tout notre code personnalisé sur le serveur de production (le serveur en direct) en douceur et avec le moins de perturbations possible?

Nous avons quelques projets en tête, mais j'aimerais savoir comment d’autres ont également abordé ce problème. Existe-t-il des pratiques recommandées ou des pièges connus à éviter?

    
posée Mike Lee 12.08.2010 - 03:09

3 réponses

4

Si vous suivez les conseils de SethMerrick, vous pouvez réduire considérablement le temps de basculement en abaissant la durée de vie des enregistrements DNS appropriés à 5 minutes ou plus (en fonction de la durée de vie actuelle) avant de modifier l'adresse IP.

Ce faisant, vous indiquez aux serveurs DNS distants de ne mettre en cache l'adresse que pendant 5 minutes. Une fois que vous avez changé l'adresse IP, vous pouvez augmenter la durée de vie (TTL) comme auparavant. Pour minimiser davantage l’effet, effectuez la permutation pendant une période de faible trafic.

    
réponse donnée Aaron Terry 12.08.2010 - 06:18
2

Je ne sais pas si cela est applicable, mais je viens de suivre un processus similaire de migration et de mise à niveau simultanées d'un site à fort trafic.

La stratégie de base consistait à travailler sur un serveur de transfert, puis, lorsque tout était prêt, effectuez un cliché mysql sur le serveur actif, importez-le sur le serveur de transfert, effectuez le nettoyage requis, puis pointez les enregistrements DNS vers le serveur de transfert. , faisant en sorte que le serveur de transfert devienne le nouveau serveur actif.

La difficulté réside dans la fusion de toutes les données accumulées pendant la propagation DNS sur le serveur de transfert (qui est maintenant le serveur actif). En d'autres termes, si 30 heures s'écoulent entre le moment où vous effectuez votre vidage / mise à jour DNS mysql et la fin de la propagation DNS, vous devrez fusionner de manière sélective 30 heures d'enregistrements de l'ancien site vers le nouveau.

Ce n'est pas un processus continu, mais au bout d'une semaine, tous les problèmes étaient réglés.

    
réponse donnée SethMerrick 12.08.2010 - 04:40
2

@ Mike Lee: Excellente question et l'un des saints Grails de WordPress (ou de l'un des systèmes de gestion de contenu open source traditionnels que je connais bien, tels que Drupal, Joomla, et autres.)

Bien que ce ne soit certainement pas destiné à traiter votre cas d'utilisation, consultez ma réponse à une question connexe qui décrit un plug-in de niveau bêta que je viens de mettre à disposition via WordPress Answers Exchange, intitulé WP Migrate Webhosts (oui, Je crains quand il s'agit de nommer créativement.)

Mais je veux aussi résoudre le cas d'utilisation que vous décrivez avec un plugin et je réfléchis actuellement à la façon de le faire. Je pense que la meilleure façon de l’aborder est d’abandonner la résolution générique et d’adresser plutôt les motifs connus qui existent dans WordPress, puis de permettre à quiconque de " raccorder " mon plugin pour des cas d’utilisation particuliers. Je pense aussi qu'une approche consiste à sérialiser les données et les structures dans WordPress en tant que données dans un fichier PHP afin qu'un futur plug-in puisse appliquer ces modifications en tant que deltas, tout comme un système de contrôle de code source applique des deltas pour obtenir la version actuelle du code source. code.

Ainsi, même si je ne réponds pas à votre question ni ne résous votre problème en entier, j'espère vous donner une bonne base de réflexion et espère que vous ou une autre personne voudrez peut-être collaborer à une solution éventuelle.

    
réponse donnée MikeSchinkel 12.08.2010 - 07:48

Lire d'autres questions sur les étiquettes