Jenkins es un software de integración continua de código abierto, escrito en Java, que proporciona integración continua para el desarrollo de software. Este es un sistema corriendo en un servidor que, a su vez, es un contenedor de servlets, como Apache Tomcat; y también soporta herramientas de control de versiones como CVS, Subversion, Git, Mercurial, Perforce y Clearcase, mientras puede ejecutar proyectos basados en Apache Ant y Apache Maven, así como scripts de shell y programas batch de Windows.
Facilcloud, en su Marketplace, pone a disposición de todos sus usuarios, esta poderosa herramienta.
Originalmente fue desarrollado con el nombre Hudson, pero años después surgieron varios temas respecto a la administración y gestión del proyecto, y se suscitó un reclamo el derecho al nombre y marca registrada; por lo que se hizo una votación entre los miembros de la comunidad para cambiar el nombre del proyecto de “Hudson” a “Jenkins”.
Jenkins dispone de la funcionalidad de extenderse mediante una multitud de plugins que permiten cambiar su comportamiento o añadir una nueva funcionalidad.
Jenkins proporciona integración continua para el desarrollo de software, es decir, permite configurar y agendar la ejecución de tareas conteniendo toda y/o cada una de las partes que conforman el ciclo de vida de un proyecto. Basta pensar en los famosos night- builds, los cuales son compilaciones, validaciones y liberación de versión beta que realizan algunos sistemas.
Nacido como fork de hudson
Es una pieza importante en lugares donde a veces una corrección de 5 minutos demora en ver la luz una semana debido a que tiene que pasar por toda una serie de procesos manuales de control, confección de instaladores y en su posterior distribución para usuarios finales.
Jenkins nace como fork del sistema predecesor Hudson CI del mismo autor, como alternativa open source desde que Sun fue adquirida por Oracle y cambiada su licencia.
Puede ser instalado tanto sobre Windows, como Linux y otras distribuciones Unix compatibles. Por ser una aplicación java web es recomendable su instalación sobre un servlets container, por lo que puede ser montado sobre un Apache Tomcat o Glassfish.
Asimismo puede ejecutarse de manera autónoma ya que posee un servidor web integrado y hasta puede instalarse como servicio según como se lo ejecute.
Adicionalmente, posee una larga lista de plugins los cuales le permiten definir tareas que puedan integrarse con herramientas de control de versiones (CVS, Subversion, Git u otros) y ejecutar proyectos basados en Apache Maven, Apache Ant, Microsoft MSBuild, shell y batch scripts de Microsoft Windows. Además permite ejecutar tareas adicionales previo y posterior a la compilación como preparar el entorno, preparar un emulador, realizar un despliegue o compactar y subir binarios a un FTP.
Jenkins también posee un historial de cambios realizados por build o versión, saber quien lo realizo y cuales archivos fueron manipulados, y sus comentarios al respecto.
Ventajas
Jenkins simplifica significativamente los procesos involucrados en el ciclo de vida de un proyecto, ya sean simples o repetitivos, largos y complejos; integrando el trabajo de varios desarrolladores, ejecución de testing, generación de reportes de estado, armados de instaladores, publicación en pagina web, notificación a clientes de versiones beta.
Aporta un marco de simplicidad sobre la integración continua gracias a las diferentes posibilidades de notificaciones de éxitos y errores entre procesos, por lo que con la cultura adecuada sobre los mismos se puede asegurar una altísima calidad de software desde el primer día, evitando errores, demoras y a un mínimo coste.
0 comentarios