Je développe des thèmes, beaucoup d'entre eux. On me donne un PSD, je code le code HTML / CSS, je claque le code dans Wordpress et j'apporte des corrections au fur et à mesure qu'ils obtiennent le QC. Une fois en ligne, les clients peuvent modifier les articles de blog comme d'habitude ou télécharger des photos à l'aide d'un plugin personnalisé.
Parfois, je dois apporter des modifications au thème ou au contenu de la page / publication, ce qui signifie que je les fais vivre ou que je dois télécharger et configurer le site dans un environnement de développement à approuver par le client. Je n'ai pas de sauvegarde, je n'ai pas de contrôle de version et je me rends compte que cela doit changer.
Git et Mercurial ont été suggérés, et je voudrais profiter de ces outils, mais je ne sais pas comment les intégrer dans un flux de travail.
Dois-je exiger toutes les modifications d'un site sur un serveur de développement, puis les diffuser en direct une fois approuvé? Et écrire des articles de blog? Il semble exagéré d'écrire des messages sur le développeur et de mettre les modifications en direct, mais comment puis-je synchroniser les bases de données si elles sont modifiées sur le site en direct? J'ai parcouru Internet. Des conseils seraient appréciés.
Réponses:
Tout d'abord, vous devez reconnaître qu'il existe deux flux de travail ici: le vôtre et votre client.
Votre workflow
Leur flux de travail
Le problème
L'implémentation du contrôle de version ici n'a absolument rien à voir avec le flux de travail de vos clients. Il s'agit de garder une trace du code que vous utilisez pour le thème WordPress. Tous vos fichiers de thème, plugins personnalisés, etc. doivent être dans un système de contrôle de version (Git, Mercurial, Subversion, ou tout ce que vous choisissez d'utiliser).
Votre workflow devient alors:
N'oubliez pas, il s'agit de maintenir un historique de contrôle de version pour votre code . Le code est quelque chose que vos clients ne devraient pas changer - et vous ne devriez jamais changer le code sur un site de production pendant qu'il est en production.
Mais les modifications apportées au contenu (publications, photos, etc.) n'entrent pas dans le cadre de votre système de contrôle de version. En d'autres termes, vous n'effectuez pas de modifications dans le développement, puis vous mettez la base de données en production. C'est une mauvaise pratique de développement. Si vous avez besoin que les bases de données dev et prod soient synchronisées, vous devez régulièrement extraire une sauvegarde de la zone de production et restaurer votre version locale à partir de cette sauvegarde.
Les changements de code vont du développement à la production.
Les changements de base de données passent de la production au développement.
la source
Vous pouvez utiliser un logiciel qui synchronise les bases de données. Mais il y a aussi la possibilité de versionner les données elles-mêmes avec quelque chose comme http://chronicdb.com
la source
Je viens de rédiger une réponse complète à cela sur une autre question. Personnellement j'utilise git et c'est fantastique. Pour commencer, je vous recommande de consulter les sites http://gitref.org/ et http://help.github.com/mac-set-up-git/ . Si vous êtes du type livre, j'ai lu celui-ci et ça vaut vraiment le prix de 22 $ pour un livre numérique. Faites-le, vous ne regretterez pas cette décision.
la source