En nuestra empresa mantenemos MUCHOS sitios de Drupal, nuestra configuración actual es más o menos así:
- La base de código de cada sitio tiene su propio repositorio git
- Las nuevas características que probablemente no sean lo suficientemente estables para la próxima versión obtienen su propia rama de características en git
Lo anterior, diría, es bastante común para la mayoría de los sitios de Drupal.
Lo que hacemos especial en nuestra empresa es empaquetar los sitios de Debian para su implementación utilizando un comando drush personalizado: ' Drush Debian Packaging '.
Drush Debian Packaging proporciona un comando Drush para construir paquetes Debian de sitios Drupal como un medio para implementar sitios Drupal en servidores Debian o Ubuntu.
Drush Debian Packaging utiliza el sistema de ganchos Drupal para crear un paquete Debian que mejor se adapte a las necesidades de su sitio. Las características incluyen:
- Configuración automática de host virtual para servidores web Apache2 y Nginx
- Configuración de Cron en /etc/cron.d
- Despliegue de código automatizado con partición dividida para sitios / predeterminados / archivos
- Configuración automatizada a través de la herramienta de configuración dpkg debconf
- Proceso de despliegue automatizado
- controlador GCS VCS personalizado para crear paquetes de Git
¿Qué significa esto?
Para crear una versión:
cd /path/to/drupal-root
drush dh-make
Para implementar una versión, primero SCP el .deb a todos los servidores web en el clúster. Luego, en todos los servidores web ejecutados (puede usar el paquete de Linux cssh para escribir el comando en todos los servidores de la granja al mismo tiempo):
sudo dpkg -i drupal-site-yoursitehere.2011.05.25-1.all.deb
En un servidor web, ejecute:
cd /path/to/drupal-root
sudo -u drupal-site-yoursitehere drush updb && drush fra -y && drush cron
Hecho
Por supuesto, revertir esto ahora es trivial desde el punto de vista de la base de código, simplemente instale la versión anterior de .deb en todos los servidores web y revierta la base de datos.
Estaremos encantados de responder cualquier pregunta sobre esto