Expertos en Drupal

¿Cómo utilizar DevOps para entregar proyectos en Drupal 8 más rápido?

Comienzos de proyectos, ciclos de desarrollo y entregas de trabajo más rápidos. Escalabilidad y seguridad mejorada, mayor calidad, mejor colaboración, clientes más felices… Una lista de beneficios que se puede conseguir si implementamos Drupal 8 DevOps en nuestros proyectos.

¿Cómo utilizar DevOps para entregar proyectos en Drupal 8 más rápido?
Jaume Codina
Jaume Codina

December 11, 2019

¿Qué es DevOps? ¿Cómo funciona?

DevOps pretende cambiar el flujo de trabajo de antaño, y cierra la brecha entre los desarrolladores y los equipos de operaciones / TI para ahorrar tiempo valioso y acelerar los ciclos de desarrollo de los proyectos.

Entrega rápida (y segura)

DevOps nos ofrece una buena colaboración entre el desarrollo y los equipos de operaciones. De esta manera, los equipos que aplican un enfoque DevOps a sus proyectos de desarrollo de software están desarrollando un trabajo en conjunto, unificando el trabajo de desarrollo y operaciones.

Los 3 pilares de una estrategia sólida de DevOps son:

  • Entrega continua
  • Pruebas automatizadas
  • Despliegues continuos


Drupal 8 DevOps: pruebas automatizadas e integración continua

Drupal 8 ha sido construido para soportar modelos DevOps. Desde la integración continua de Drupal 8 hasta la implementación de Drupal 8 y las pruebas automatizadas, la última versión de Drupal es ideal para soportar una sólida estrategia basada en DevOps.

Está diseñado para la automatización, lo que implícitamente conduce a proyectos Drupal de mayor calidad, entregados significativamente más rápido.

Beneficios de DevOps en el flujo de trabajo de desarrollo en Drupal

Normalmente se invierte mucho tiempo en:

  • Prueba de módulos de Drupal
  • Instalar Drupal en un nuevo sistema
  • Hacer los ajustes debidos a sus servidores

¿Qué pasaría si se pudiera simplificar todo el flujo de trabajo de desarrollo?

Se podría utilizar Circle.CI, Probo.CI, Jenkins y / u otras herramientas Drupal 8 DevOps para automatizar las tareas y pruebas y, por lo tanto, realizar un seguimiento de parches y código.

¿Qué se consigue si se incorporan todas estas técnicas de implementación de DevOps y herramientas de automatización en el flujo de trabajo de desarrollo de Drupal 8?

Se acelera el proceso de desarrollo

Así es, incorporar las herramientas y las mejores prácticas de DevOps en el flujo de trabajo acortará todo el ciclo de desarrollo.

Los desarrolladores de Drupal serán más productivos dentro del mismo presupuesto. Además, la comunicación entre el equipo de desarrollo y el equipo de operaciones será más fluida. Se realizarán entregas de trabajo continuas y microservicios que permitirán que el equipo publique versiones recientemente actualizadas de sus productos de software mucho más rápido.

Drupal 8 DevOps no significa comprometer la seguridad para una entrega más rápida. Por el contrario, la adopción de este modelo solo mejorará la seguridad del proyecto a través de un conjunto bien definido de buenas prácticas y políticas de seguridad.

Entregas más rápidas y de manera más confiable

"Conveniencia" es otra palabra para DevOps. A través de la integración continua y la entrega continua, prácticamente el proceso de lanzamiento será rápido desde la compilación hasta ... la implementación.

¿Hay algún error que corregir? ¿Una nueva característica para implementar? ¿Requiere el cliente que se aplique un cambio?

Se podrán lanzar versiones actualizadas del software basado en Drupal:

  • Frecuentemente
  • Rápidamente

Y cuanto más rápido se logre ajustar el producto a las crecientes necesidades y expectativas de los usuarios finales, mayor será la ventaja que se obtendrá sobre los competidores.

Procesos de desarrollo a escala

La escalabilidad es clave en el desarrollo moderno de Drupal. Al adoptar un modelo DevOps, se llevarán a cabo todos los procesos de desarrollo e infraestructura a escala.

Proyecto Drupal de mayor calidad

En un modelo DevOps, el desarrollo, la entrega y la implementación más rápida no significan sacrificar la calidad. Al contrario, se realizarán pruebas automáticas frecuentes antes de aplicar cada actualización en el contenido de producción en vivo. 

Integrar DevOps en el proceso de desarrollo de Drupal significa que todas las actualizaciones y cambios de módulos realizados en el sitio web / aplicación están respaldados por varias pruebas automatizadas. A eso se le llama estrategia sólida de garantía de calidad.

Mejoras en la colaboración dentro del equipo

Cada miembro deñ equipo tiene acceso a cualquier tarea para realizar un seguimiento de su progreso.

La carga de todas esas tareas repetitivas y "mundanas" que DevOps quita a sus desarrolladores les permite centrarse exclusivamente en funciones de valor.

¿Cómo configurar DevOps para Drupal 8? 

¿Cómo sería una configuración básica? Una que se ajuste a cualquier escenario, que no dependa de factores como:

  • Presupuesto
  • Herramientas usadas
  • Plataforma de alojamiento
  • El nivel de experiencia del equipo

¿Qué componentes (procesos clave, herramientas Drupal DevOps, herramientas de implementación de Drupal, mejores prácticas) incluirían?

Un ejemplo:

  • Un perfil de instalación de Drupal 8 preconfigurado
  • Un perfil en Github
  • Tipos de contenido preconfigurados
  • Un único tema Drupal de trabajo
  • Paragraph y paquetes de medios

Éstos son todos los "elementos básicos esenciales" necesarios para poner en marcha el proyecto en poco tiempo.

Una sólida configuración de desarrollo local

Una configuración de desarrollo local confiable es crucial si se considera un contexto específico de Drupal 8 DevOps con:

  • Nuevas características.
  • Corrección de errores
  • Máquinas locales en Github.

Un flujo de trabajo de desarrollo local robusto actuará como una base sólida para este constante intercambio entre el entorno local y el entorno de producción.

Un repositorio de Git

La automatización es clave y Drupal 8 ha sido diseñado teniendo en cuenta la automatización.

Entonces, tener el código de compilación, módulos personalizados y utilizar Github como método de alojamiento, simplemente iniciará todos los nuevos proyectos de Drupal. Con cada solicitud de extracción, el código almacenado allí se implementa automáticamente.

Una plataforma de alojamiento moderna y programable

Ya sea que elija Acquia o Pantheon o cualquier otra plataforma de alojamiento, debemos asegurarnos de que sea compatible con la automatización y que interactue con el servidor de integración continua.

Un servidor de integración continua: Circle CI

Cada vez que un desarrollador del equipo Drupal 8 DevOps agrega una nueva función y / o corrige un error, una nueva versión del proyecto se pone en marcha y se prueba automáticamente.

Pruebas de funcionalidad automatizadas

Realizan un componente imprescindible de cualquier estrategia sólida de DevOps. ¿Cómo trabajan? Cada vez que se hace commit, la versión completa del proyecto Drupal se pone en marcha en CircleCI, que ejecutaría un conjunto de pruebas de funcionalidad (por ejemplo, pruebas Behat).

Si pasa estas pruebas de funcionalidad, el servidor de integración continua entrega una nueva copia de su proyecto.

Pruebas de regresión visual

Es bastante similar al paso mencionado anteriormente, excepto que aquí el servidor Circle CI ejecuta regresión visual y pruebas de carga, en lugar de pruebas centradas en la funcionalidad. Le informaría al equipo si incluso un solo píxel ha cambiado entre implementaciones.

¿Por qué elegir DevOps en Drupal 8?

En resumen, una estrategia DevOps solo nos aportará beneficios en nuestro proyecto gracias a sus beneficios:

  • Tendremos un equipo más productivo y colaborativo
  • Los proyectos empezarán más rápido
  • Se reducirán los tiempos en el proyecto
  • Las nuevas funcionalidades se desarrollarán rápidamente
  • Los bugs se resolverán más rápido
  • La calidad será mucho mejor
  • Las operaciones serán más eficientes

Y por lo tanto, los clientes serán más felices :)

Artículos Relacionados