Comment ajouter un contrôle de version à mon flux de travail?

10

Je développe beaucoup de thèmes. On me donne un fichier PSD, code le code HTML / CSS, claque le code dans Wordpress et apporte des corrections au fur et à mesure qu’ils obtiennent le contrôle de la qualité. Une fois en direct, les clients peuvent éditer leurs 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 / du message, ce qui signifie que je les mets en ligne ou que je dois télécharger et configurer le site dans un environnement de développement qui doit être approuvé par le client. Je n'ai pas de sauvegarde, je n'ai pas de contrôle de version et je réalise que cela doit changer.

Git et Mercurial ont été suggérés, et j'aimerais tirer parti de ces outils, mais je ne comprends pas comment les intégrer dans un flux de travail.

Dois-je exiger toutes les modifications apportées à un site sur un serveur de développement, puis les mettre en ligne une fois approuvées? Qu'en est-il des articles de blog? Cela semble excessif d'écrire des articles sur dev et de mettre en ligne les modifications, mais comment puis-je synchroniser les bases de données si elles sont éditées sur le site actif? J'ai parcouru l'internet. Des conseils seraient appréciés.

    
posée cfree 09.02.2012 - 18:33

3 réponses

7

Tout d'abord, vous devez reconnaître qu'il existe deux flux de travail ici: le vôtre et votre client.

Votre flux de travail

  • Recevoir le PSD
  • Code HTML / CSS
  • Modèle de code WordPress
  • Déployer le thème sur le site WordPress en direct

Leur flux de travail

  • Définissez les modifications requises et envoyez-nous un e-mail
  • Écrire des messages
  • Télécharger des photos

Le problème

La mise en œuvre du contrôle de version n’a absolument rien à voir avec le flux de travail de vos clients. Il s’agit de suivre le code que vous utilisez pour le thème WordPress. Tous vos fichiers de thème, vos plugins personnalisés, etc. doivent se trouver dans un système de contrôle de version (Git, Mercurial, Subversion ou ce que vous choisissez d'utiliser).

Votre flux de travail devient alors:

  • Écrire le code
  • Valider les modifications dans le système de contrôle de version
  • Transférer les modifications sur le site de production
  • Récupération des commentaires du client
  • Écrire le code
  • Valider les modifications
  • Écrire le code
  • Valider les modifications
  • Transférer les modifications sur le site de production

N'oubliez pas qu'il s'agit de conserver un historique de contrôle de version pour votre code . Le code est quelque chose que vos clients ne devraient pas modifier - et vous ne devriez jamais le modifier sur un site de production en cours de production.

Toutefois, les modifications apportées au contenu (publications, photos, etc.) ne sont pas couvertes par votre système de contrôle de version. En d'autres termes, vous ne modifiez pas le développement avant de pousser 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 modifications de code vont du développement à la production.
Les modifications de base de données vont de la production au développement.

    
réponse donnée EAMann 09.02.2012 - 18:57
1

Vous pouvez utiliser un logiciel qui synchronise les bases de données. Mais il existe également la possibilité de versionner les données elles-mêmes avec quelque chose comme enlace

.     
réponse donnée Gary 13.02.2012 - 03:41
1

Je viens de rédiger une réponse complète à cette question. Personnellement j'utilise git et c'est fantastique. Pour ce faire, je vous conseillerais de vérifier enlace et enlace . Si vous êtes du type livre, j'ai lu celui-ci et il vaut vraiment la peine le prix ebook de 22 $. Faites-le, vous ne regretterez pas cette décision.

    
réponse donnée Matthew Boynes 13.02.2012 - 07:14

Lire d'autres questions sur les étiquettes