Qué significa JENKINS para los equipos de control de calidad

Los sistemas de integración continua tienen dos objetivos principales: construir software automáticamente y dar feedback automático sobre su calidad. Es decir, compilar código, para luego testearlo y liberarlo a producción automáticamente, libre de errores. Aquí, es donde entra Jenkins.

Jenkins, es un servidor de integración continua, gratuito, open-source y actualmente uno de los más empleados para automatizar tareas. Además es muy fácil e intuitivo de utilizar. Para usar Jenkins necesitamos:

  • Un repositorio de control de código fuente ( por ejemplo git o subversion…).
  • Un script para compilar proyectos ( por ejemplo, un script de Maven, integrado en el repositorio).
  • Uso de Librerias para ahorrar tiempo de compilación. Cuando doy la orden de compilar el código o instalar las librerías, el compliador buscará en mi repositorio local si están esas librerías. Si no están ahí, se irá a buscarlas al repositorio central, las descargará e instalará en el repositorio local ( Por ejemplo, en el pom.xml del proyecto, en la sección de dependencies, indicamos las librerías que usa nuestro proyecto y que están alojadas en Maven central.  )

Una vez preparado todo el entorno, es el momento de programar las tareas que queremos automatizar con Jenkins. Por ejemplo, podemos crear la tarea para ‘escuchar’ el repositorio de control de versiones cada cierto tiempo, y cuando un desarrollador suba nuevo código, este lo compile y se ejecuten las pruebas automáticamente. Otra tarea podría ser, subir una nueva Release con el cambio programado al verificar que se han pasado todos los test.

Para complementar con la integración contínua, analizaremos la calidad del código subido para cada tarea creada en JENKINS, para ello utilizaremos herramientas como SonarQube.

Con el objetivo de asegurar que el sistema de integración continua está funcionando de la manera esperada, en el departamento de calidad aparece un nuevo role, con más habilidades técnicas y de programación, que le permita la creación de scripts. El QE (Quality Engingeer) es el que debería responsabilizarse de crear, mantener, ejecutar y revisar todas las tareas creadas en Jenkins.