Desarrollo temas, muchos de ellos. Me dan un PSD, codifico el HTML / CSS, coloco el código en Wordpress y hago correcciones a medida que reciben QC. Una vez en vivo, los clientes pueden editar publicaciones de blog como normal o subir fotos usando un complemento personalizado.
A veces tengo que hacer cambios en el tema o en el contenido de la página / 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 el cliente lo apruebe. No tengo copia de seguridad, no tengo control de versiones, y me doy cuenta de que esto debe cambiar.
Se han sugerido Git y Mercurial, y me gustaría aprovechar estas herramientas, pero estoy confundido acerca de cómo encajarlas en un flujo de trabajo.
¿Debo solicitar todos los cambios en un sitio en un servidor de desarrollo y luego enviarlos una vez aprobados? ¿Qué hay de escribir publicaciones de blog? Parece excesivo escribir publicaciones en dev y enviar los cambios en vivo, pero entonces, ¿cómo sincronizo las bases de datos si se editan en el sitio en vivo? He buscado en internet. Se agradecería alguna orientación.
Respuestas:
En primer lugar, debe reconocer que hay dos flujos de trabajo aquí: el suyo y el cliente.
Su flujo de trabajo
Su flujo de trabajo
La cuestión
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 realizar un seguimiento del código que usa para el tema de WordPress. Todos sus archivos de tema, complementos personalizados, etc. deben estar en un sistema de control de versiones (Git, Mercurial, Subversion o lo que elija usar).
Su flujo de trabajo se convierte en:
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 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 realiza 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 de desarrollo y producción estén sincronizadas, entonces debe extraer una copia de seguridad de la caja de producción y restaurar su versión local a partir de esa copia de seguridad.
El código cambia el flujo del desarrollo a la producción.
Los cambios en la base de datos fluyen de la producción al desarrollo.
fuente
Puede usar software que sincronice las bases de datos. Pero también existe la opción de versionar los datos en sí mismos con algo como http://chronicdb.com
fuente
Acabo de escribir una respuesta exhaustiva a esto en otra pregunta. Personalmente uso git y es fantástico. En términos de comenzar con esto, recomendaría visitar http://gitref.org/ y http://help.github.com/mac-set-up-git/ . Si eres del tipo de libro, he leído este y definitivamente vale la pena el precio del libro electrónico de $ 22. Hazte hacerlo, no te arrepentirás de esa decisión.
fuente