Pasos para crear un sistema de integración continua

La integración continua nos permite desplegar cada día los últimos cambios y probarlo todo de forma automática, con lo que aportamos más valor y seguridad. Vamos a ver los pasos hay que seguir para crearlo:

1) Definir la política de despliegue

Hay que hablar con los responsables para ver:

  • Cuando se van a hacer (cada noche)
  • De que parte del repositorio se va a obtener el código: la última versión para desplegar en desarrollo, sólo versiones marcadas para producción, …
  • Que hacer cuando haya que cambiar la estructura de la base de datos o en la configuración del entorno, etc.

2) Definir la política de pruebas

Un proceso similar para la parte de calidad:

  • Cuales se harán en cada entorno: no afectan igual las de estrés que las unitarias
  • Cuando se escribirán: puede ser antes de hacer la funcionalidad (TDD), en paralelo…
  • Cuando se ejecutarán: las unitarias cada vez que se sube código, las de integración cada noche…
  • Que cobertura tendrán: las de Selenium pueden tardar varias horas y se pueden separar por funcionalidades o sprints
  • Que fallos son admisibles: no es lo mismo un bug cosmético que uno de seguridad
  • Que hacer cuando fallen: bloquear el acceso, mandar emails a los responsables…

3) Definir los pasos para desplegar y probar

Una versión simplificada sería:

  1. Descargar el código de los proyectos que formen la aplicación
  2. Compilarlos y ejecutar las pruebas unitarias de cada uno
  3. Si han ido bien, añadirlos al repositorio local de Maven si hacen falta para generar la aplicación
  4. Generar el fichero de despliegue
  5. Desplegarlo en desarrollo
  6. Ejecutar las pruebas de integración
  7. Desplegar en producción si se han ejecutado con éxito

4) Configurar el entorno de despliegue

Configurar el servidor (Ubuntu, …), instalar el contenedor de aplicaciones (Tomcat…), las bases de datos (MySql, Oracle, …), las herramientas de automatización (Jenkins) y hacer pruebas de despliegue.

5) Automatizar las tareas

Configurar las tareas para que se lancen de forma automática, controlar que no empiece una hasta que terminen las previas, evitar que se cambie lo que hay en producción si fallan los tests en desarrollo, …

En las próximas entregas os iré explicando cada una en profundidad y cómo instalar cada programa. Recordad que podéis suscribiros para recibirlas:

[mc4wp_form]

Rafael Borrego

Ingeniero informático especializado en startups y en ayudarles a crecer

Facebook Twitter LinkedIn 

Deja un comentario

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

Puedes usar las siguientes etiquetas y atributos HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>