Drupal Update | Actualizar Drupal usando Composer y Drush

Video de Youtube
URL de Video remoto
Texto

Si no ves el video, puedes refrescar el navegador, presionando (Ctrl+Shift+R | Ctrl+F5 o Shift+F5), o abrirlo directamente desde el Canal de Youtube... HAZ CLIC AQUI

Guía para actualizar tus proyectos Drupal, utilizando Composer y Drush

     Si utilizas Drupal en tus proyectos, es casi seguro que te habrás encontrado con la necesidad de actualizarlo, ya sea para corregir fallos de seguridad, para implementar las mejoras en el código de algún módulo, o para obtener la versión más reciente de su núcleo.

     Por esta razón, en este curso, te enseñaré los pasos que deberías tener en cuenta, en caso de tener que realizar una actualización de tus proyectos Drupal.

   Requisitos:

  1. Tener configurado un entorno local, donde puedas poner en marcha tu proyecto Drupal.

    Si no sabes instalar un entorno local, HAZ CLIC AQUÍ
     
  2. Capacidad para ejecutar comandos de Composer y Drush en tu consola

            Si no tienes Composer instalado, HAZ CLIC AQUI


   Guía para actualizar tus proyectos Drupal, utilizando Composer y Drush


     Paso 1 - Sacar una copia de la base de datos.

        Antes de realizar cualquier tipo de actualización en tus proyectos, es recomendable que hagan una copia de seguiridad, para evitar pérdidas de información durante el proceso, o para volver a la versión anterior, en caso de que no consigas el resultado esperado con la actualización de tus proyectos.

     Para saber cómo hacerlo HAZ CLIC AQUI

     Paso 2 - Verificar los módulos que necesitarán sera actualizados y la razón.

       Es muy recomendable revisar constantemente, el estado de tus proyectos, porque constantemente en Drupal, se añaden nuevas funcionalidades y optimizaciones en el código, y muchas de estas mejoras, están relacionadas con la corrección de fallos de seguridad. Por esta razón, es de vital importancia, que mantengas actualizados tus proyectos con Drupal, siempre que sea posible.

       Para conocer las actualizaciones pendientes en tus proyectos Drupal, puedes elegir entre dos opciones básicas.

     Informe de actualizaciones pendientes, através de la interfaz de Drupal.

       Puedes acceder al informe sobre las actualizaciones pendientes de Drupal, desde la interfaz de usuario, en la url

"/admin/reports/updates"

   

Drupal Update | www.drupaladicto.com - Consultor especializado en drupal y symfony

     Comprobar actualizaciones pendientes mediante consola.

       Otra de las maneras de comprobar los módulos que necesitas actualizar en Drupal, es a través de la consola, gracias al gestor de paquetes Composer, recomendado para cualquier instalación de proyectos Drupal, desde la versión 8.

       En el caso de conocer las actualizaciones pendientes en nuestros proyectos Drupal, nos colocaremos en la carpeta raíz, que es el lugar desde donde podremos ejecutar, en la mayoría de los casos, tanto Composer como Drush. 

        Una vez colocados allí, utilizando nuestra consola de comandos, ejectaremos la siguiente línea de código:

composer outdated

Drupal Update | www.drupaladicto.com - Consultor especializado en drupal y symfony

     Tanto si realizamos la comprobación, por medio de la interfaz de Drupal, como si decidimos realizarlo por medio de la consola de comandos, el restultado debería ser el mismo; es decir, deberíamos obtener el listado de módulos pendientes de actualizar, con las versiones instaladas en el momento de realizar la comprobación, las posibles versiones recomendadas y las notas relacionadas con dichas nuevas versiones, en el caso específico de hacerlo mediante la interfaz de usuario.

     Pero si analizamos en profundidad ambos resultados, el informe resultante desde la consola, es mucho más extenso que el de la interfaz. Esto se debe, a que, además de los módulos de Drupal que requieren actualizarse, Composer nos muestras módulos de Symfony, ya que el núcleo de Drupal está basado en este Framework desde la versión 8.

   Cómo actualizar Drupal por medio de la consola

     Si optamos por actualizar nuestro proyecto de Drupal, por medio de su interfaz de usaurio, el proceso es bastante sencillo. Aunque desde la interfaz, sólo podremos realizar actualizaciones de los módulos, no del núcleo de Drupal.

     Para realizar una actualización de los módulos de Drupal, desde la interfaz, bastará con dirigrinos a la url: "/admin/reports/updates/update" , luego marcaremos el o los módulos que queremos actualizar, haciendo clic en el check que se muestra a la izquierda de cada módulo, y a continuación, haremos clic en el botón Descargar estas actualizaciones, que podremos encontrar la final de la misma página.

Drupal Update | www.drupaladicto.com - Consultor especializado en drupal y symfony

   Actualización mediante consola, utilizando Composer

     Para realizar la actualización de nuestro proyecto Drupal, a través de la consola, utilizaremos Composer y Drush. Composer se encargará de descargar todas las dependencias disponibles, tanto de módulos de Drupal y Núcleo, como de otros componentes relacionados con Symfony. Por esta razón, es recomendable elegir este método de actualización, ya que nos mostrará más información relacionada con todo el proceso y componentes que está actualizando durante el proceso.

     El comando para actualizar todos los módulos de Drupal y su Núcleo al mismo tiempo es el siguiente:

composer update "drupal/*" -W

     El asterísco que se muestra en la barra después de la palabra Drupal, indica que deseamos actualizar todo lo que esté disponible en este momento y la -W, es el sustitutivo para la opción "--with-all-dependencies", aunque puedes utilizarla si lo prefieres. 

     Una vez terminada la descarga de todos los módulos, ejecutaremos los comando de Drush, para borrar la cache de drupal y actualizar la base de datos.

drush cr

drush updb

     En el momento que ejecutemos los comando de Drush, podremos acceder nuevamente a la url "/admin/reports/updates", donde deberíamos ver todos los módulos y el núcleo en color VERDE, indicándonos que no tenemos ninguna actualización pendiente.