web-dev-qa-db-fra.com

Comment transférer des modifications d'un environnement de test vers un site actif?

Comme avec la plupart des autres logiciels, il est plus sûr d'essayer de nouveaux plugins, options de configuration ou modifications de modèles dans un environnement de test séparé, voir par exemple. Environnement de développement local WordPress .

La plupart des questions et réponses que j'ai vues à ce sujet constituent le cas le plus simple: faire le développement initial localement, puis déployer le tout sur le site actif. C'est facile. Toutefois, si je dois tester certains changements au milieu du cycle de vie du site? Je suppose que les étapes devraient être:

  1. Répliquer un état actuel du site dans l'environnement de test
  2. Test des modifications dans l'environnement de test
  3. Lorsque vous avez terminé, fusionnez les modifications avec

Je sais comment faire 1 + 2 mais je ne suis pas sûr de 3. Cette étape se décompose en 2 parties:

  1. Des dossiers
  2. Base de données

Encore une fois, 1 est facile, par exemple, les mises à jour de modèles sont facilement migrées de test à vie. Mais 2 est délicat. Copier la base de test en production n’est pas toujours possible (il peut y avoir eu des changements de contenu entre-temps, etc.), la comparaison de schémas n’est pas non plus une tâche banale, il pourrait en théorie exister un plug-in qui aiderait à la synchronisation en mode test <-> Je ne suis pas sûr qu'il existe.

Comment gérez-vous cela? Des astuces ou des procédures?

2
Borek Bernard

Je ne pense pas que vous trouverez une réponse complète ou facile à cela. Je pense que la manière dont vous avez déjà décomposé les différents aspects de votre installation est la clé, c’est-à-dire penser que les modifications apportées aux fichiers diffèrent des modifications apportées à la base de données.

La plupart des modifications que je fais sont au niveau des fichiers - par exemple, CSS, ajout de code pour un hook, etc. Ils sont isolés dans des fichiers, comme vous l'avez dit.

Pour les changements que je fais qui affectent la base de données, ils ont tendance à être compartimentés en plugins, ils sont donc faciles à isoler et à déployer ou restaurer si je garde une trace de mes étapes.

Puisque vous semblez plus préoccupé par les modifications de votre base de données, avez-vous un changement particulier ou un type de changement dont vous souhaitez discuter? Vous pouvez envisager de faire un dump MySql des bases de données test et live, puis d’utiliser un outil de comparaison de fichiers pour trouver les différences. Dans de nombreux cas, cela vous permettrait probablement d’extraire quelques commandes SQL qui pourraient être intégrées dans un script de déploiement (mais cela pourrait impliquer une bonne compréhension de la base de données sous-jacente pour être sûr d’obtenir le script correct).

1
Shannon Wagner

Cela peut sembler contre-productif, mais pour transférer les modifications localement, je supprime généralement la base de données de mon environnement local, dumpe une copie de la base de données active, puis l’ouvre dans un éditeur de texte. de mon URL locale.

Ainsi, par exemple, si mon site actif est: http://www.awesomewidgets.com et que mon URL de test locale est: http: // localhost/awesomewidgets - Je voudrais faire une recherche et remplacer "http://www.awesomewidgets.com" et le rendre "http: // localhost/awesomewidgets "

Il vous suffit ensuite de vous rappeler de copier tous les plug-ins que vous avez installés sur le site en direct et, bien entendu, tous les fichiers téléchargés tels que des images, des vidéos ou des fichiers audio qui se trouvent généralement dans votre dossier wp-content/uploads ).

0
Dwayne Charrington