El software de integración continua escrito en Java, Jenkins, se presenta con el lema “Construir grandes cosas a cualquier escala”. A pesar de que pueda parecer demasiado pretencioso, no es así. Se trata de una herramienta muy poderosa con la que podremos realizar pruebas de una aplicación para así detectar fallos cuanto antes.

¿Qué es la integración continua?

La integración continua es un término que utilizó por primera vez Martin Fowler, y consiste en hacer integraciones automáticas de un proyecto lo más a menudo posible. Se entiende por integración la compilación y ejecución de pruebas de todo un proyecto. El proceso se lleva a cabo normalmente cada cierto tiempo y su función es la descarga de las fuentes desde el control de versiones, su posterior compilación, la ejecución de pruebas y generar informes.

Una de las ventajas de utilizar un software de integración continua es que los desarrolladores pueden detectar y solucionar problemas de integración de forma continua, evitando el caos de última hora cuando se acercan las fechas de entrega. Además, siempre se dispone de una versión para pruebas, demos o lanzamientos anticipados. Se pueden ejecutar de forma inmediata las pruebas unitarias y hay una monitorización continua de las métricas de calidad del proyecto.

Jenkins es un sistema que corre en un servidor que es un contenedor de servlets, como hace también Apache Tomcat. Puede trabajar con herramientas de control de versiones como CVS, Subversion, Git, Mercurial, Perforce y Clearcase y es capaz de ejecutar proyectos basados en Apache Ant y Apache Maven, así como scripts de shell y programas batch de Windows.

Aunque Jenkins como tal nació en febrero de 2011, sus inicios son anteriores. Su desarrollo comenzó con el nombre de Hudson en 2004 en Sun Microsystems. Tras la reclamación de Oracle del nombre de Hudson, hubo una división y ambos siguieron caminos separados, aunque muchos consideran que Jenkins solo es un fork de su matriz.

Por último, destacar que Jenkins puede extenderse mediante plugins. Actualmente hay una gran cantidad de plugins que permiten cambiar su comportamiento o añadir nuevas funcionalidades. Entre los más utilizados se encuentran:

  • Javadoc. Este plugin añade soporte Javadoc a Jenkins. Esta funcionalidad solía ser una parte del núcleo, pero a partir de Jenkins 1.431, se separó en diferentes plugins.
  • Mailer. Permite configurar las notificaciones de correo electrónico con los resultados de los builds. Para ello es necesario configurar el servidor de correo.
  • External-monitor-job. Añade la posibilidad de controlar el resultado de los trabajos realizados externamente.
  • Credentials. Este plugin permite almacenar credenciales. Proporciona una API estándar para otros plugins para almacenar y recuperar diferentes tipos de credenciales.
  • Ssh-slaves. Este plugin le permite administrar los esclavos que se ejecutan en máquinas * nix a través de SSH. Añade un nuevo tipo de método de lanzamiento de esclavos.

No podíamos irnos sin recordarte que puedes acceder a algunos de nuestros cursos de forma 100% gratuita para que consigas formarte y crecer como un profesional IT.

¿Quieres aprender más sobre Devops ?

Regístrate Gratis