Wordpress con Git

20

Estoy haciendo esta pregunta porque busqué en Internet pero no puedo encontrar la solución adecuada. En realidad, quiero una solución en la que varios desarrolladores puedan trabajar en un solo proyecto de wordpress sin crear ningún desorden, pero como sabemos, en wordpress todo se mantiene en una base de datos, como el complemento que está activo y el que no.

Si los desarrolladores instalan complementos en su proyecto local, no todos los desarrolladores deben instalar ese complemento o complementos específicos, etc., y algunos problemas de comunicación pueden interrumpir el sitio de otros si todos los desarrolladores presionan / tiran del código.

También deberíamos compartir la base de datos, para compartir la configuración del plugin / temas para que no haya conflictos o conflictos pequeños entre los desarrolladores.

Gracias

    
pregunta Najam-us-Saqib 23.08.2016 - 08:37

5 respuestas

17

Git para complementos :

Luego, usa Git para administrar composer.json y los cambios en el complemento TGM.

La parte más difícil es sincronizar la base de datos :

Definitivamente, deberíamos compartir la base de datos. Reconfigurar una configuración / opciones de un complemento no es una buena idea.

There are muchos complementos , tanto gratuitos como premium, que pueden ayudar.

Si desea probar algo manualmente, incorpore wp-cli con la respuesta de @Wyck.

    
respondido por el MinhTri 23.08.2016 - 10:39
7

La mejor solución que he visto es usar Bedrock ( enlace ).

Las otras respuestas a esta pregunta (Composer, y algo para administrar sus complementos) son buenas respuestas; pero Bedrock proporciona una forma sistematizada, respaldada, documentada y continuamente mejorada de hacer esto, que es preferible a rodar la suya.

Además, recuerde que puede tener más de un repositorio git: uno para su tema, uno para cada complemento personalizado que desarrolle, y luego uno "maestro" para la propia instalación de Bedrock / Wordpress.

    
respondido por el Chris S 23.08.2016 - 15:21
7

Mi equipo enfrentó un problema similar. Usamos git para versionar nuestro propio código personalizado, como los complementos y el tema que escribimos. Usamos Compositor para administrar las dependencias, como los complementos que no escribimos. Revisamos los archivos composer.json y composer.lock en git para mantener a todos sincronizados. Se espera que cada desarrollador saque la rama maestra de git y ejecute composer update en sus parques con frecuencia para que todos se mantengan actualizados.

En la base de datos, los desarrolladores se preocupan principalmente por la configuración, y a menudo usamos WP-CLI para mantener la configuración sincronizada. Por ejemplo, tenemos un script de shell que ejecuta un comando WP-CLI para habilitar o deshabilitar los complementos por host; algunos complementos solo se usan en nuestro host de almacenamiento de contenido, por ejemplo, por lo que la secuencia de comandos se puede ejecutar en cualquier host y solo habilitará el conjunto apropiado en ese host. Algunas configuraciones que consumen demasiado tiempo para la secuencia de comandos solo se documentan y reproducen manualmente si es necesario.

También tenemos una secuencia de comandos de Perl que clonará completamente la base de datos de nuestro servidor de almacenamiento de contenido en un QA o host de desarrollo. Los desarrolladores pueden usar esto periódicamente si quieren todo el contenido actual, aunque eso suele ser menos importante que tener el código y la configuración. El script realiza estas tareas:

  • volcado de MySQL de la base de datos del servidor de almacenamiento de contenido, cambio de nombres de tablas, carga en la base de datos del servidor de destino
  • use wp-cli para cambiar las referencias al servidor de almacenamiento dentro de la base de datos para referirse al servidor de destino
  • sincronizar el directorio de cargas en el servidor de destino con las cargas del servidor de contenido de contenido

Hay algunas soluciones prometedoras para la versión real de la base de datos que se están presentando rápidamente. VersionPress y Mergebot son las dos que conozco de y puede haber otros.

Escribí más detalles técnicos de cómo configuramos WordPress para trabajar con git y Composer en mi blog. Fue necesario ejecutar el núcleo de WordPress en su propio directorio para hacer una separación clara entre el código que queremos mantener en git y el núcleo de WordPress. Tratamos a WordPress como una dependencia y lo gestionamos con Composer.

    
respondido por el spacegrrl 23.08.2016 - 22:33
0

Si es absolutamente necesario que tengas todos los mismos complementos instalados trabajando en el tema o un complemento personalizado, también compartiría la base de datos.

Usamos git y compositor para mantener actualizados los diferentes entornos de desarrollo. Simplemente tire de los últimos cambios y vuelva a ejecutar Composer y estará listo para comenzar.

    
respondido por el Ben Romijn 23.08.2016 - 10:01
0

Para eso, primero que todo, debemos entender la estructura de directorios de WordPress. La estructura de directorios de WordPress no es tan fácil de usar para usar git con ella. Por lo tanto, le sugiero que use esto con una arquitectura modificada más que git amigable. No, no hay necesidad de entrar en pánico. No necesariamente tienes que crear esto. Hay un montón de ese tipo de sistema de WordPress estructurado o estructurado por ahí. Solo elige uno de ellos y comienza a codificar.

Ahora llegue al punto de escribir un código bien organizado o un código que se pueda editar. En realidad, ponemos nuestro código en wp-content\themes\your-theme o wp-content\themes\your-theme . Así que en la mayoría de los textos de WordPress git friendly, la parte wp-content está separada. Y sobre todo tiran del repositorio de WordPress a través de composer . Hace que el proyecto completo sea mucho más limpio.

La sincronización de plugins es otra parte importante. Sería mejor si instala su complemento a través de composer . Esto hace que el código del proyecto sea mucho más limpio. Aquí obtendrá una descripción general de cómo instalar los complementos de WordPress a través de composer .

Ahora venga a la parte más importante, cómo sincronizar la base de datos. Creo que podría hacerse más fácilmente de las siguientes 2 formas:

  • Todos los desarrolladores deben usar una base de datos remota. Y con frecuencia crear una copia de seguridad de ella.
  • automatizar la facilidad de importación y exportación de WordPress. Parece complicado, pero no lo es. Sólo haz un poco de google, Espero que puedas hacer eso.

Espero que te ayude.

    
respondido por el CodeMascot 23.08.2016 - 10:52

Lea otras preguntas en las etiquetas