DevOps para WordPress

Jesús Duque
Jesús Duque
Profesor de Yoga y Scrum Master PSM I Certified. Creo en ayudar a las personas a cambiar el mundo a través de mi trabajo, usando las herramientas que conozco y siempre buscando aprender nuevas formas de hacer lo que hago.
Solución implementada WordPress sobre Azure DevOps

Nuestra experiencia en esta implementación de DevOps para WordPress

Con la intención de mejorar el control de versiones, la calidad y la seguridad, uno de nuestros clientes nos solicitó implementar DevOps para WordPress sobre Azure.

La implementación de un sitio web en WordPress utilizando DevOps no es algo nuevo, basta con darse un paseo por Internet para confirmar que ya se ha puesto en práctica. Pero una cosa es escuchar la experiencia de los demás y otra muy distinta es vivir la propia.

Nuestra experiencia con DevOps

Nuestra primera tarea fue buscar referentes sobre este tipo de implementaciones y nuestra primera sorpresa fue la ausencia de experiencias que hablaran sobre despliegues continuos o actualizaciones al sitio web. En las fuentes revisadas, que no fueron pocas, solo se mencionaba la implementación inicial. 

De acuerdo con nuestra experiencia, al hacer actualizaciones de plugins o de elementos de configuración del website, no hay riesgo al hacerlo en desarrollo y enviarlo por el pipeline de DevOps. Si bien esto no genera mayor complicación, no sobra tener algo de precaución con los enrutamientos internos del sitio. Lo que sí puede convertirse en un problema mayor es cuando un sitio web en ya publicado, es alimentado por varias personas de manera simultánea en el ambiente de producción.

¿Por qué un problema que varias personas actualicen WordPress?

Los colaboradores agregan el contenido directamente al blog en el ambiente de producción, sin necesidad de pasar por el pipeline de DevOps y los cambios de configuración, diseño y plugins nuevos, se agregan en desarrollo y se despliegan en pruebas y producción a través del pipeline.

DevOps para WordPress - Castos Transformación Digital
DevOps para WordPress – Castos Transformación Digital

En ambos casos se toca la base de datos y esto representa un riesgo, pues la actualización implica sobreescribir y en ese proceso se puede perder contenido agregado en producción.

Así fue nuestra primera aproximación de DevOps para WordPress

Nuestra primera tarea consistió en identificar cuáles tablas eran alteradas por la instalación de nuevos plugins y extensiones, y cuáles eran alteradas por los contenidos. De este modo podríamos actualizar únicamente los datos adicionados por los plugins.

La investigación nos permitió deducir que tanto el contenido como las actualizaciones de plugins y extensiones agregan elementos a diversas tablas en la base de datos; en algunas ocasiones son las mismas.

Encontramos también que la complejidad, al actualizar cualquier detalle, se podría multiplicar si intentábamos buscar cada nuevo elemento en cada tabla de la base de datos. Esto debido a que hay muchos plugins que no tienen especificado en la documentación qué tablas de la base de datos utilizan para su funcionamiento. 

Y aun teniendo la información de qué elementos de la base de datos, altera cada uno de los plugins, sería muy difícil automatizar este proceso.

Así lo resolvimos Devops para WordPress

Está claro que la prioridad es mantener los ambientes de calidad y producción actualizados, sin correr el riesgo de perder información. Para lograr este propósito encontramos un camino en el que calidad fuera espejo de producción para los contenidos. ¿Cómo lo hicimos?

Para lograr que el ambiente de calidad estuviera actualizado en todo momento, con los contenidos agregados en producción, usamos  el plugin wp sistesync. Esta herramienta nos permite actualizar de manera simultánea el contenido en los dos ambientes.

En otras palabras: la base de datos de calidad va a estar actualizada en contenido gracias al plugin wp sitesync, mientras que el diseño y funcionalidad serán posibles gracias a las prácticas de DevOps implementadas.

DevOps para WordPress - Castos Transformación Digital

Configuramos el Target de la herramienta wp site Sync para que apunte al ambiente de pruebas y nos aseguramos de, al momento de agregar una nueva entrada, actualizar en Update y en Push to Target.

Solución implementada WordPress sobre Azure DevOps - Castos Transformación Digital

Muchas soluciones son más simples de lo que podemos imaginar, pero llegar a ellas implica transitar por caminos complejos. Eso es lo que hacemos en Castor: recorremos todos los caminos posibles hasta encontrar las soluciones que mejor resuelvan los problemas.

Este artículo fue co-escrito junto con Fabio Oquendo quien es el cerebro detrás de toda la instalación.

________________________________

Enlaces de interés:

https://wpsitesync.com/

https://castor.com.co/lo-que-encontramos-al-comparar-dotnetnuke-dnn-vs-wordpress/

Mantente al tanto de nuestras publicaciones a través de nuestras redes sociales: LinkedIn, Instagram y Twitter.

2 Responses

  1. Gracias por los comentarios sobre devops con wordpress les agradeceria que en el sitio agreguen como lo configuraron o lo que producen en sus lectores tecnicos es que terminen totalmente inconformes con el articulo y su experiencia sea terrible como me paso a mi por la perdida de tiempo que me ocasionaron.

    1. Muchas gracias a ti por tu comentario Andrés. Lamentamos que el artículo te haya ocasionado una pérdida de tiempo. Lamentablemente no está pensado para ser una guía detallada paso a paso. La configuración se hizo similar a cualquier implementación, los problemas que tuvimos fueron ocasionados por la naturaleza de creación de entradas directamente en el administrador de WP. Las imágenes en el artículo puede que te ayuden un poco.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Publicaciones Relacionadas

Contáctanos

Comunicate con nosotros

Estamos acá para acompañarte en tus estrategias de  Transformación Digital.

Cualquier inquietud no dudes en comunicarse con nosotros.

  • Solicitar propuestas
  • Preguntas sobre nuestros servicios
  • Requerir consultoría profesional
×