Es ampliamente aceptado que los desarrolladores deben probar las actualizaciones a través de un sitio provisional antes de lanzarlas al servidor en vivo, sin embargo, una vez que las actualizaciones de desarrollo requieren modificaciones en Wordpress DB, las cosas se complican, ya que los usuarios en el sitio en vivo también actualizarán la base de datos.
El único flujo (confuso) que puedo imaginar es el siguiente:
- Probar en un servidor local (WAMP, XAMP, etc.)
- Una vez que esté listo para la implementación, coloque el sitio en vivo en modo de mantenimiento
- Copia de seguridad del sitio en vivo (Duplicator, sqldump, etc.)
- Cree un clon de sitio en vivo bloqueado para el sitio de preparación
- Subir modificaciones del entorno local al sitio de preparación
- Probar el sitio de preparación
- Empuje el sitio de preparación para vivir.
- Eliminar modo de mantenimiento
Inconvenientes del flujo anterior:
- los tiempos de inactividad pueden ser más largos de lo esperado para los usuarios mientras el desarrollador prueba cuidadosamente las actualizaciones en el sitio de preparación;
- puede requerir la administración manual de modificaciones: por ejemplo, los diseños del generador de páginas de origen se almacenan en la base de datos, por lo que una vez que se modifica un diseño, debe importarse manualmente en el sitio de ensayo; en este caso, podría ser adecuado simplemente colocar e importar páginas en el sitio de ensayo y, si funciona, importarlas en el sitio activo
Me pregunto si hay una forma mejor y más automatizada para lograr esto.
¿Qué piensas?
EDIT, según lo solicitado, algunas soluciones se han propuesto en el pasado pero ninguna ofrece una solución definitiva:
- 9/2010 - Sincronización de bases de datos entre desarrollo / etapas y producción
- 12/2011 - Implementación de complementos actualizados o nuevos que modifican la tabla wp_options
- 9/2014 - ¿Cómo cargar cambios locales en un servidor en vivo sin anular nuevas publicaciones / páginas?
- 1/2015 - ¿Cómo mantener los blogs del sitio de WordPress en producción y puesta en escena?