Staging, entorno de pruebas para el desarrollo de webs y aplicaciones

Toda web o app se encuentra "viva", sometida a continuos cambios, actualizaciones, mejoras, modificaciones de diseño y un sin fin de acciones y tareas de mas o menos complejidad.

En entornos en producción un error nos puede costar mucho tiempo y dinero, imagina una tienda, blog o landing page que queda inaccesible durante horas causa de un nuevo plugin problemático o de un theme que no funciona como esperábamos.

Es aquí donde entran los entornos conocidos como staging (ensayos), un entorno en el que realizar todas las modificaciones que necesitemos sin afectar a nuestra web principal.

Es básicamente una copia exacta de nuestra web o aplicación, generada sobre un subdirectorio donde se clona todo, tanto ficheros como base de datos, de esa forma los cambios que realicemos solo serán visibles en el clon y una vez decidamos aplicarlos a la web en funcionamiento, podremos de forma sencilla fusionar los cambios realizados.

En nuestros servicios el entorno de staging puede ser creado de forma sencilla desde Softaculous.

Si dispones de una aplicación no instalada con Softaculous y quieres hacer uso de esta y otras funciones, deberás importarla primero.

Creando el entorno de pruebas (staging)

Pondremos como ejemplo una instalación de Wordpress, aunque el proceso sería el mismo para el resto de aplicaciones como Drupal, Joomla, Magento, Prestashop, entre otros.

Desde el panel de Softaculous disponible en cPanel, nos dirigimos al listado de instalaciones.

Una vez dentro veremos al lado de cada instalación un icono para crear el entorno de pruebas.

Al entrar en esta opción, se nos facilitará un sencillo formulario, debemos seleccionar el mismo dominio y en "Directorio", indicar el nombre de un subdirectorio donde queremos crear nuestro "clon" para pruebas.

El nombre de la base de datos se genera de forma aleatoria y es diferente a la que está en uso por lo que no requiere de cambio.

Hacemos click en Create Staging y listo, ya tenemos una copia de nuestra web donde comenzar a realizar cambios.

Fusionando los cambios del entorno staging al entorno en producción

Imaginemos que hemos realizado cambios en nuestro clon y queremos que se apliquen a la web que está en funcionamiento.

Para ello accedemos nuevamente al listado de instalaciones de Softaculous y veremos que al lado de la instalación de pruebas tenemos un nuevo icono, es el denominado Push to Live.

Accedemos a esta opción y dispondremos de dos métodos para aplicar los cambios realizados "Default options" y "Customize".

.

Default options, copiando todos los cambios realizados

Esta opción sustituye nuestra instalación con el clon sobre el que realizamos los cambios, al hacer click en Push to Live se ejecutarán las siguientes acciones.

  1. Se genera una copia de seguridad de la web en funcionamiento
  2. Se sobreescriben todos los ficheros y directorios de la web principal con los de nuestro entorno de staging.
  3. Se elimina la base de datos y sustituye con la de nuestro entorno de staging.

De esa forma tras aplicar estas acciones, la web que estará funcionando será nuestro clon, donde aplicamos todos los cambios.

Customize, aplicando cambios de forma selectiva

No siempre es necesario o útil realizar una sustitución completa de nuestra web, podemos necesitar únicamente sustituir los ficheros o base de datos de forma selectiva, de ahí la opción Customize.

  • Overwrite Files/Folders, nos permite seleccionar si queremos o no que los ficheros y directorios sean reemplazados con los que tenemos en nuestro entorno de pruebas.
  • Push Full Database, con esta opción activa se copiará toda la base de datos del entorno de pruebas al principal, desactivada nos permite desgranar los cambios a aplicar.
  • Choose Database Changes aparece cuando Push Full Database está desactivado y nos ofrece dos opciones:
    • Database Structure Changes, aquí aparecerán las tablas que sufrieron cambios en su estructura, pudiendo seleccionar aquellas que queremos se copien al entorno final desde el entorno de pruebas.
    • Data Changes in Tables, muestra las tablas que sufrieron cambios en su contenido, pudiendo seleccionar aquellas que queremos se copien al entorno final desde el entorno de pruebas.

Eliminando el entorno de pruebas

El entorno staging permanecerá presente hasta que lo elimines desde Softaculous como si de una instalación normal se tratase.

Si vas a trabajar continuamente en el entorno de pruebas, puedes mantenerlo, pero por norma general te recomendamos lo elimines tras hacer "push to live", y vuelvas a crear cuando lo necesites ya que si durante el tiempo sin uso la instalación principal sufre cambios o actualizaciones, el entorno de staging quedaría desfasado y al aplicar cambios sobre el entorno final podrías ocasionar conflictos y fallos de funcionamiento al estar ejecutando versiones diferentes.