¿Cuál es una buena manera de configurar un flujo de trabajo de desarrollo, puesta en escena y producción con wordpress?

6 minutos de lectura

WordPress presenta algunos desafíos, ya que tiende a almacenar demasiado en la base de datos, lo que dificulta el traslado de un servidor a otro.

¿Cuáles son algunos otros problemas a tener en cuenta?

¿Cómo era tu flujo de trabajo?

  • ¿No deberías preguntar esto en wordpress.stackexchange.com ?

    – Gravitón

    22 de septiembre de 2010 a las 4:32

  • no sabía que existe 🙂 gracias.

    – Álex n.

    22 de septiembre de 2010 a las 13:04

avatar de usuario
elmedicomuerto

Tengo una única instalación de WordPress configurada para potenciar varios dominios en mi servidor de desarrollo. Los archivos de complementos y temas también se comparten, por lo que la actualización es un proceso de un solo clic para todos blogs

Utilizo Apache VirtualHosts para asignar varios dominios a la misma raíz del documento y espolvorear un poco de magia en el principal wp-config.php establecer dinámicamente DB_NAMEbasado en el host actual (puedo publicar el código si lo desea).

Para trabajar localmente, solo tengo un usuario de MySQL con privilegios de root y lo uso para todas mis bases de datos (¡no recomendado en un servidor de producción!).

Mis dominios locales tienen nombres apropiados para el real dominios, pero con un TLD falso. Así que trabajando con example.comconfiguré un VirtualHost example.dev.

Cuando estoy listo para ir a vivir, uso HeidiSQL para hacer una copia de la base de datos de desarrollo, entonces reemplazar todas las ocurrencias de example.dev con example.com.

La base de datos copiada ahora está lista para la instalación de producción. Duplique su instalación local de WordPress en el servidor de producción (copiando complementos, cargas y temas) y use HeidiSQL (recomendado) o phpMyAdmin para importar la base de datos preparada.

ACTUALIZAR

Naturalmente, si realiza cambios en uno y luego copia todo en el otro, entonces perderá cualquier cambio habías hecho en el otro. ¡Esto no solo se aplica a WordPress, sino a casi cualquier otra cosa en la vida misma!

Si alguna vez necesito hacer cambios importantes una vez que el sitio esté activo (y por importante me refiero a cambios que deberían no llevarse a cabo en un servidor de producción), realizo el proceso inverso al anterior (copio todo, desde producción hasta desarrollo), realizo los cambios y luego hago lo contrario nuevamente.

  • ¿Cómo lidia con la creación de nuevas páginas y ajustes de configuración almacenados en la base de datos?

    – estúpido

    4 de junio de 2010 a las 17:13

  • Por el momento, cada sitio que creo es solo una nueva instalación de base de datos. Supongo que podría escribir un complemento para procesar por lotes algunas configuraciones comunes, pero cada sitio suele ser muy diferente de cualquier otro: la estructura de la página, por ejemplo, nunca es la misma, y ​​solo agrego y edito páginas y publicaciones como lo hace normalmente en WP.

    – El médico muerto

    5 de junio de 2010 a las 13:34


  • Quiero decir, si crea una página en su servidor de desarrollo y luego vuelve a sincronizar la base de datos de desarrollo con la base de datos en vivo, pierde esas páginas.

    – estúpido

    6 de junio de 2010 a las 2:07

  • Si resincronizas, ¿por qué perderías las páginas? La resincronización es simplemente copiar su instalación de desarrollo a producción, usando el método en mi respuesta.

    – El médico muerto

    6 de junio de 2010 a las 10:28

  • Porque las páginas se almacenan en la base de datos. Entonces, si solo mueve el código, las páginas no van. Si mueve la base de datos, perderá su contenido. Además, si vas al revés, borrarás las páginas de tu base de datos de desarrollo.

    – estúpido

    6 de junio de 2010 a las 13:33

avatar de usuario
Chris_O

Esta misma pregunta fue hecha y respondida el WordPress.stackexchange. Contiene información detallada y las mejores prácticas para una implementación rápida desde el desarrollo hasta la producción.

Editar

Esta es la misma respuesta que agregué en WordPress Answers.

Puede haber mejores formas que me faltan, pero te daré 2 opciones:

1.Utilice XML Export para exportar sus nuevas publicaciones y comentarios. Luego use el importador de WordPress para importar las nuevas publicaciones y comentarios nuevamente a la base de datos de desarrollo

Lo mejor es importar a desarrollo y luego mover la base de datos a producción porque cuando importe, descargará todos los nuevos archivos multimedia de producción.

Mientras tanto, la producción ha cambiado (nuevas publicaciones, nuevos comentarios, etc.)

Esto resolvería su problema de traer cualquier contenido modificado.

2. Use el comando INSERT IGNORE INTO MySql para agregar las nuevas tablas de dev. o el comando REEMPLAZAR para sobrescribir filas duplicadas en la misma tabla.

Antes de usar MySql, haga una copia de seguridad de ambas bases de datos y mueva la base de datos gz al servidor de producción y cargue el volcado (cambie el nombre de dev si es el mismo que el de producción.

INSERT IGNORE INTO `_wp_production_db`.`wp_cool_plugin_options`
SELECT *
FROM `_wp_dev_db`.`wp_cool_plugin_options`

No me siento cómodo con los comandos de MySql, así que elegiría la opción 1.

  • caramba, ni siquiera existía (wordpress.stackexchange)… ¡gracias!

    – Álex n.

    22 de septiembre de 2010 a las 13:03

  • sin embargo, esa respuesta realmente no cubre la sincronización bidireccional real que Mr.blockhead había mencionado anteriormente. Eso es lo que más me interesa también.

    – Álex n.

    22 de septiembre de 2010 a las 13:10

avatar de usuario
Juan Doeherty

Tengo un sitio de desarrollo en mi máquina local y cambio el archivo de hosts locales para que las llamadas al servidor en vivo (www.example.com) apunten al host local. De esa manera, todas las llamadas a archivos externos (jquery, etc.) aún funcionan y no tengo que molestarme en revisar la base de datos para cambiar nada. Ex- e importar el contenido a través de wordpress XML me ha dado los mejores resultados.

ACTUALIZAR:
he utilizado http://www.mertyazicioglu.com/projects/wordpress-move/ y obtuvo buenos resultados.

JD

Si tiene instalado phpMyAdmin, mover sitios de wordpress de un servidor a otro no debería ser un problema en absoluto. Simplemente exporte la base de datos a un tar.gz y copie su tema personalizado (si está usando uno) a través de FTP y luego, después de crear una nueva base de datos y un nuevo volcado de wordpress, vuelva a cargar ambos en el nuevo servidor. 2 cambios en la URL de inicio y blog en la base de datos y 2 cambios en el archivo wp-config y listo.

Una cosa con la que he tenido problemas son los complementos de terceros. Termino codificando muchas galerías y widgets de JavaScript porque los complementos de terceros parecen una mierda, son lentos o no funcionan como yo quiero. Gracias a Dios por JQuery.

¿Ha sido útil esta solución?