version-control drupal

version control - Drupal y control de versiones



version-control (2)

Muchos servicios de alojamiento, incluso los servidores compartidos baratos, tienen instalado el cliente SVN o CVS. Eso es diferente al alojamiento SVN, un servicio que algunas compañías de hosting ofrecen explícitamente. Vale la pena verificar; tener un cliente de control de fuente hará que tu vida sea mucho más fácil sin importar nada.

Nuestro flujo de trabajo de lanzamiento tiende a ser algo así como:

  • Configurar la base de código
  • Ponlo en SVN / git / lo que sea Desarrolla, codifica, crea contenido, configura, etc.
  • Haga instantáneas DB a intervalos regulares para preservar la cordura
  • Elimine cualquier contenido ficticio o cuentas de usuario ficticias que se hayan creado durante el desarrollo
  • Empujar el código a una caja de producción o prueba
    • Si tiene un cliente de control de origen en su host, úselo para desplegar la base de código.
    • Si no lo hace, cree una versión explícita o etiquetada de su base de código utilizando el mecanismo que su sistema de control de origen ofrezca.
    • No cambie el código en el servidor en vivo. Siempre use la actualización de control de fuente o cargue una copia completa de la rama / etiqueta "bendecida". Conseguir que el código del sitio en vivo no esté sincronizado es un infierno.
  • Si necesita insertar una nueva instantánea y en línea, tenga un directorio separado / db fuera de la raíz web que también esté bajo control de fuente, o simplemente use SFT y cargue las instantáneas de base de datos adhoc. No desea mantenerlos en un directorio accesible a través de la web, obviamente, ya que las personas que descargan instantáneas de bases de datos sin procesar son doblemente buenas.

Hice una presentación sobre la implementación hace más o menos un mes y publiqué las diapositivas en línea; podría ser útil. enlace slideshare

Busqué preguntas similares a las mías y una parecía prometedora, pero la respuesta aceptada no me era aplicable (creo).

¿Estrategia de control de fuente de Drupal?

Básicamente, uno debe tener derechos en el servidor en el que se está implementando. Esa no es mi situación. Uso un servicio de alojamiento y no creo poder instalar SVN en él.

Entonces, ¿acabo de desarrollar en un sitio "ficticio" y de alguna manera hago muchos malabares probando un sitio ficticio, obteniendo el contenido (incluyendo la base de datos) y poniéndolo en SVN y luego liberándolo en mi sitio en vivo?

¿Cómo se ve la base de datos Drupal? Mis sitios ficticios y en vivo no tienen / no tendrán los mismos inicios de sesión de administrador / usuario, etc.

¿Qué están haciendo otros para desarrollar en Drupal y gestionar revisiones?


Hay dos aspectos de versionar con Drupal.

1 / Estructura

GIT es mi arma de elección, es ampliamente adoptada en la comunidad de Drupal, también en el exterior y extremadamente flexible.

Con Drupal, entonces necesitas un par de herramientas esenciales.

  • Características , un módulo que le ayudará a codificar algunas de las estructuras de su sitio que generalmente residen en la base de datos. Vistas, Tipos de contenido, Taxonomías, Vocabularios, incluso Términos de Taxonomías, si utiliza los módulos de Características de UUID y UUID, etc.

  • Drush no solo te ayudará a crear y actualizar tus funciones, sino que también es una herramienta esencial para crear sitios Drupal. A menos que sea alérgico a la línea de comandos, administrar Features con Drush es mucho más flexible y robusto que el uso de la interfaz de usuario de Features.

2 / Contenido

Esa es una incluso más simple, siempre que no tenga una gran cantidad de contenido, puede usar el módulo Copia de seguridad y migración .

Algunos servicios de alojamiento amigables de Drupal le proporcionarán GIT preinstalado, si realmente no puede tener acceso a un servidor, GIT sigue siendo una excelente herramienta de desarrollo.

Lo siento, no he proporcionado ningún enlace, es un poco tarde aquí, pero estas herramientas son muy fáciles de encontrar, ¡estoy seguro de que no tendrás ningún problema!