Cuarto Hito: Integración continua

Descripción

El principal objetivo de este hito del proyecto es añadir integración continua al mismo. Los tres subobjetivos son aprender cómo describir la versión del lenguaje de programación que se usa en el proyecto y la infraestructura que necesita para funcionar, así como la elección de un sistema y sitio para integración continua y configuración del mismo.

Prerrequisitos

Haber llevado a cabo los ejercicios del tema de integración continua y haber actualizado el fichero de objetivos con un enlace a los mismos.

Explicación

En sistemas de desarrollo ágil quien desarrolle tiene que asegurar que el código pasa todos los tests antes de ser desplegado o simplemente incorporado a la rama principal, porque los tests son la especificación de los requisitos. Para ello se escriben una serie de tests que se ejecutan automáticamente al añadir o modificar código o cuando se solicite un pull request. Estos tests tienen el fin obvio de asegurar la calidad del mismo (via implementación de las pruebas para que se cumplan las historias de usuario), pero también en un entorno de desarrollo colaborativo permiten integrar código fácilmente asegurándose de que no se rompa nada. Si no está testeado, está roto, es el lema del desarrollador. Al ser la plasmación de las especificaciones, en cada incorporación de código la ejecución automática de los tests asegura que el código sigue cumpliendo las especificaciones. En este hito lo que haremos será configurar nuestro repositorio para que se pasen los tests, posiblemente en diferentes ambientes, automáticamente.

Preparar un proyecto para integración continua implica varias cosas:

Esta fase de integración continua es esencial para el posterior despliegue en un PaaS o IaaS sobre el que se probarán técnicas de despliegue continuo.

Entrega de la práctica

Se tendrá que haber actualizado el repositorio que se usara en los hitos anteriores y añadir al fichero de este hito el nombre del proyecto, el autor y un enlace al mismo y hacer un pull request.

Se comprobará que el fichero de Travis, .travis.yml, está en el directorio principal, y que se hayan pasado los tests de Travis.

Valoración

Si se cumplen los requisitos, la puntuación será:

  1. 3 puntos: Integración continua funcionando y correcta justificación de la misma.
  2. 2 puntos: configuración de algún sistema de integración continua adicional (justificado de la misma forma).
  3. 1 punto: uso correcto del gestor de tareas en todos los casos anteriores.
  4. 2 puntos: aprovechamiento del contenedor de Docker generado en el hito anterior en alguno de los sistemas de CI, especialmente si hay un cambio o adaptación del mismo.
  5. 2 puntos: Tests significativos y/o avance del proyecto en sí más allá del hito anterior.

Se recuerda también que este es un hito de un proyecto, y como tal los tests para este hito incluyen los de todos los anteriores; el proyecto tendrá que seguir desarrollándose de acuerdo a lo indicado en el hito anterior y tener como mínimo la estructura que se creó en el hito 0.