web-dev-qa-db-fra.com

wordpress local et git: comment gérer les mises à jour de wordpress?

Je vois que Git et Wordpress sont souvent discutés ici, mais comme je n’ai trouvé aucune réponse à ma question spécifique, je vais en ouvrir une nouvelle.

Juste pour me familiariser un peu avec git, je souhaite l’utiliser pour mon blog personnel wordpress. Ma configuration:

  • installation locale de Wordpress
  • repo distant (bitbucket)
  • déploiement automatique à chaque fois que j'appuie sur bitbucket via FTP sur mon hébergeur (aucune chance d'installer git là-bas, j'utilise buddy )

Jusqu'à présent, cela fonctionne bien, je peux modifier mes données, écrire des plug-ins, etc. et le transmettre à l'hôte. J'ai écrit un petit script pour mettre à jour mes dbs locales de temps en temps pour avoir de nouveaux commentaires, etc. sur mon installation locale, cela fonctionne aussi.

Mais comment gérer les mises à jour principales des plugins/wordpress? Les appliquer directement à l'environnement de production sur mon hôte saperait toute l'idée si git (je pense), alors j'ai désactivé les mises à jour automatiques. Mais comment procéder?

  • Installer les mises à jour localement, les valider et les pousser vers l'hôte repo +? Qu'en est-il des changements de base de données alors? Les mises à jour de wordpress/plugin modifient-elles quelque chose dans la base de données? Je suppose qu'ils font?

  • Les installer sur mon hôte, puis tout télécharger via FTP, commit et Push à nouveau (ça a l'air redondant, et pas vraiment ce que j'aime faire)?

Comment gérez-vous ce problème? Ou est-ce que ma configuration est complètement erronée?

3
mischa.mole

Je formulerais vos exigences comme ceci:

  • le référentiel doit capturer l'état complet et précis du site
  • les mises à jour doivent être testées localement et poussées vers production
  • les événements de mise à jour de la base de données doivent fonctionner en production de manière fiable

Rester avec Git seul signifierait en effet que vous devez installer les mises à jour localement et les enregistrer dans le référentiel.

En ce qui concerne les mises à jour de base de données, la structure de la base de données des versions de base de WordPress et les vérifie au démarrage Si la base de données est obsolète lors de l'administration du site visité, vous serez invité à effectuer la mise à jour. Je pense que les sites les plus fréquentés choisissent souvent de remplacer ce comportement par une exécution en coulisse à la demande.

Cela laisse généralement l'audit des plugins spécifiques que vous utilisez pour vérifier s'ils utilisent des tables de base de données personnalisées, etc. Ce n'est pas si commun parmi les extensions WP, la plupart d'entre elles se débrouillent avec des structures de données WP et des API natives.

En ce qui concerne les améliorations possibles, je vous recommande d’examiner Composer et de traiter le noyau WP comme dépendance. Cela supprimerait la nécessité de conserver une copie de la totalité du noyau WP dans votre référentiel.

3
Rarst