Flux de travail WordPress et Git

23

Je sais que cette question a été posée mille fois, mais j'essaie vraiment de comprendre comment tirer le meilleur parti de Git lorsque je travaille avec WordPress.

J'ai parcouru le Web et lu des dizaines d'articles, qui semblent tous couvrir brièvement le sujet. Voici quelques-uns des plus remarquables que j'ai lus récemment.

- Contrôle de la version de WordPress

- Gestion des déploiements de thèmes WordPress avec Git

- Gérez votre thème WordPress personnalisé utiliser git au lieu de FTP

Actuellement, mon flux de travail ressemble à ceci.

  • Installer WordPress localement
  • Développer le thème
  • Exporter des bases de données WordPress à partir d'un serveur local
  • Importer une base de données WordPress sur un serveur distant
  • Télécharger des fichiers WordPress et un thème via FTP
  • Le client apporte des modifications
  • Téléchargez les fichiers et le thème WordPress via FTP et exportez les bases de données WordPress depuis un serveur distant
  • Remplacer les fichiers localement
  • Apporter des modifications au développement
  • Re-upload via FTP, exportation et importation de la base de données sur un serveur distant

Je réalise que Git peut rationaliser ce processus. Il semble que la meilleure façon de procéder consiste à disposer d’un fichier .gitignore qui ignore certains répertoires qui ne nécessitent pas de suivi, ainsi que d’un fichier wp-config.php local et distant.

Mais comment gérez-vous les bases de données? Les clients apporteront généralement des modifications (posts / pages / plugins). Dois-je toujours exporter à partir de la base de données distante et l'importer sur mon serveur local?

Quelqu'un peut-il suggérer le meilleur flux de travail pour moi ici? Et me guider à travers les marches.

De plus, je voudrais probablement utiliser Bitbucket car les pensions privées avec eux sont gratuites, contrairement à GitHub.

Toute aide serait la bienvenue.

Merci d'avance!

    
posée realph 13.02.2013 - 14:19

6 réponses

6

Je suis l'un des développeurs de WP Migrate DB Pro et souhaite répondre à @ Ennui question:

"Savez-vous si le script de remplacement de l'URL de base de données qu'il exécute prend en compte les chaînes sérialisées?"

Oui, il gère les données sérialisées. En fait, c’est la raison principale pour laquelle j'ai développé la version gratuite du plugin en 2009.:)

Malheureusement, je n'ai qu'une réputation de 41 ans, je n'ai donc pas pu répondre au commentaire de @ Ennui. Désolé pour cela.

    
réponse donnée bradt 17.05.2013 - 16:25
4

Je suis à la limite en votant pour clore ceci comme "non constructif", car cela semble être le genre de chose qui suscitera un débat et une opinion plutôt que des réponses. Mais ...

Ce n’est pas ce à quoi mon travail ressemble et cela rend mon approche (et ma réponse) différente de la plupart des réponses précédentes.

  1. Installer WordPress localement
    1. Ceci est cloné à partir d'un dépôt local nu Git contenant la dernière version stable.
    2. Je conserve également une copie locale de la dernière version de quelques plugins J'installe presque toujours.
  2. Construisez le thème et tous les plugins nécessaires
  3. Télécharger sur un serveur de transfert intermédiaire
    1. Le client a un accès mais ne peut pas changer le code et le dit les modifications apportées à la base de données ne seront pas transférées sur le site de production.
    2. Cela signifie qu’il n’ya aucune raison de télécharger le code sur le serveur de développement.
    3. Et aucune raison de resynchroniser la base de données locale
  4. Modifiez le site local en fonction des commentaires de notre personnel et du client.
  5. Transférer les modifications
  6. Répétez si nécessaire (mais avec une résistance croissante :))
  7. Si nous fournissons du contenu, ce qui n’est pas toujours le cas, nous (non le client) va nettoyer la base de données sur le serveur de transfert et télécharger contenu.
  8. Déployez en téléchargeant le code local sur le site de production.
  9. Si nous avons créé du contenu, celui-ci est exporté depuis le stockage intermédiaire.    site via l'outil d'exportation de vanille et importé dans la production    site.
    1. C’est le seul moment où je dois déplacer la base de données et c’est fait avec de jolis outils standard. J'utiliserai les adresses URL de mise à jour de Velvet Blues pour nettoyer la base de données si nécessaire.
  10. Débogage
  11. la fin

En gros, je garde le client loin de mes affaires jusqu'à ce que nous remettions le site.

Le code se déplace dans un sens - de local à transition ou production. Il ne bouge jamais dans l'autre sens. Cela élimine certaines de vos démarches et me donne une tranquillité d'esprit. Je ne veux pas être blâmé pour le bricolage du client dans mon code et je ne veux pas importer de fichier piraté, ce qui est une possibilité non nulle.

Et la base de données ne se déplace qu'une fois, voire pas du tout, ce qui réduit considérablement le problème. Je suppose donc que je gère le problème de "déplacement de base de données" en réduisant ou en supprimant le besoin de déplacer la base de données. Cela réduit également les problèmes de corruption de base de données qui peuvent survenir et réduit les chances d'importer un piratage.

Certes, je dois configurer le site de production - liens permanents, menus, etc. - mais cela me force à travailler sur le site de production, ce qui est pour moi une sorte de débogage. Cela m'aide à confirmer que les choses fonctionnent comme il se doit sur le site de production.

    
réponse donnée s_ha_dum 17.05.2013 - 17:44
2

enlace

Je n'ai pas encore essayé moi-même, mais il prétend tout déployer, y compris la base de données.

Il existe également un tutoriel qui l'accompagne: Tutoriel partie 1 | partie 2

    
réponse donnée Pat J 17.05.2013 - 16:15
2

Jetez un coup d’œil à la pile de substratum . Il utilise composer pour gérer la version de Wordpress et des plugins tiers, et inclut également capistrano pour les déploiements, et vagrant / ansible pour la configuration de serveurs, y compris des serveurs virtuels locaux pour le développement.

    
réponse donnée rjmunro 18.07.2014 - 16:28
2

J'ai récemment effectué de nombreux tests à ce sujet et voici le flux de travail que j'utilise, qui remplit à peu près ce que vous demandez:

  • J'utilise wp-cli pour gérer le noyau wordpress et mettre à jour wordpress.
  • J'utilise composer avec enlace pour gérer les dépendances de plug-ins et de thèmes.
  • J'utilise git et mets des fichiers wp de base dans le .gitignore. Donc, la plupart du temps, wp-config.php et les fichiers de thèmes enfants sont dans git.

Je ne connais pas bien les outils de migration de la base de données, mais ce serait un excellent ajout à ce flux de travail.

Voici tous les détails sur le flux de travail enlace

    
réponse donnée Patrick Forget 18.07.2014 - 15:13
1

En ce qui concerne la base de données "clonage", j'utilise WP Migrate DB Pro: enlace

Il s'agit d'un service payant, mais qui ne coûte pas cher et qui vous permet d'extraire ou de pousser votre base de données de votre développeur vers votre serveur réel, et inversement. Cela change les URL et tout ce qui doit être changé en cours de route.

    
réponse donnée deadlyhifi 17.05.2013 - 14:22

Lire d'autres questions sur les étiquettes