¿Cómo agrego control de versiones a mi flujo de trabajo?

10

Desarrollo temas, muchos de ellos. Me dieron un PSD, codifiqué el código HTML / CSS, coloqué el código en Wordpress y realicé correcciones a medida que obtuvieran control de calidad. Una vez en vivo, los clientes pueden editar publicaciones de blog como las normales o subir fotos con un complemento personalizado.

A veces tengo que hacer cambios en el tema o en la página / contenido de la publicación, lo que significa que los hago en vivo o tengo que descargar y configurar el sitio en un entorno de desarrollo para que sea aprobado por el cliente. No tengo una copia de seguridad, no tengo control de versiones y me doy cuenta de que esto debe cambiar.

Git y Mercurial han sido sugeridos, y me gustaría aprovechar estas herramientas, pero estoy confundido acerca de cómo encajarlas en un flujo de trabajo.

¿Requiero todos los cambios a un sitio en un servidor de desarrollo y luego los pongo en funcionamiento una vez que se aprueban? ¿Qué hay de escribir publicaciones en el blog? Parece una exageración para escribir publicaciones en dev y empujar los cambios en vivo, pero entonces, ¿cómo sincronizo las bases de datos si se editan en el sitio en vivo? He rastreado el internet. Se agradecería alguna orientación.

    
pregunta cfree 09.02.2012 - 18:33

3 respuestas

7

En primer lugar, debe reconocer que hay dos flujos de trabajo aquí: el suyo y su cliente.

Tu flujo de trabajo

  • Recibe PSD
  • Código HTML / CSS
  • Plantilla WordPress de código
  • Implementar tema para vivir el sitio de WordPress

Su flujo de trabajo

  • Diseñe los cambios necesarios y envíe un correo electrónico a usted
  • Escribe publicaciones
  • Subir fotos

El problema

La implementación del control de versiones aquí no tiene absolutamente nada que ver con el flujo de trabajo de sus clientes. Se trata de hacer un seguimiento del código que usas para el tema de WordPress. Todos sus archivos de temas, complementos personalizados, etc. deben estar en un sistema de control de versiones (Git, Mercurial, Subversion o lo que elija utilizar).

Tu flujo de trabajo se convierte en:

  • Escribir código
  • Confirmar cambios en el sistema de control de versiones
  • Impulsar cambios al sitio de producción
  • Obtenga comentarios del cliente
  • Escribir código
  • Confirmar cambios
  • Escribir código
  • Confirmar cambios
  • Impulsar cambios al sitio de producción

Recuerde, se trata de mantener un historial de control de versiones para su código . El código es algo que sus clientes no deberían cambiar, y usted nunca debe cambiar el código en un sitio de producción mientras esté en producción.

Pero los cambios en el contenido (publicaciones, fotos, etc.) están fuera del alcance de su sistema de control de versiones. En otras palabras, no hace cambios en el desarrollo y luego empuja la base de datos a producción. Esa es una mala práctica de desarrollo. Si necesita que las bases de datos dev y prod estén sincronizadas, entonces debería extraer una copia de seguridad del cuadro de producción y restaurar su versión local desde esa copia de seguridad.

Los cambios de código pasan del desarrollo a la producción.
Los cambios de la base de datos pasan de la producción al desarrollo.

    
respondido por el EAMann 09.02.2012 - 18:57
1

Puedes usar software que sincronice las bases de datos. Pero también existe la opción de versionar los datos con algo como enlace

    
respondido por el Gary 13.02.2012 - 03:41
1

Acabo de escribir una respuesta completa a esta en otra pregunta. Personalmente uso git y es fantástico. En términos de comenzar con él, recomiendo revisar enlace y enlace . Si eres el tipo de libro, he leído éste y definitivamente vale la pena El precio del ebook de $ 22. Hazlo, no te arrepentirás de esa decisión.

    
respondido por el Matthew Boynes 13.02.2012 - 07:14

Lea otras preguntas en las etiquetas