Jenkins | ||
---|---|---|
Información general | ||
Tipo de programa | integración continua | |
Desarrollador | Jenkins CI | |
Lanzamiento inicial | 02 de febrero de 2011 | |
Licencia | MIT license y licencia Creative Commons | |
Información técnica | ||
Programado en | Java | |
Versiones | ||
Última versión estable | 2.442 (info) ( 24 de enero de 2024 (9 meses y 18 días)) | |
Última versión en pruebas | 2.62 (info) ( 21 de mayo de 2017 (7 años, 5 meses y 21 días)) | |
Enlaces | ||
Jenkins es un servidor de automatización open source escrito en Java. Está basado en el proyecto Hudson y es, dependiendo de la visión, un fork del proyecto o simplemente un cambio de nombre.
Jenkins ayuda en la automatización de parte del proceso de desarrollo de software mediante integración continua y facilita ciertos aspectos de la entrega continua. Admite herramientas de control de versiones como CVS, Subversion, Git, Mercurial, Perforce y Clearcase y puede ejecutar proyectos basados en Apache Ant y Apache Maven, así como secuencias de comandos de consola y programas por lotes de Windows. El desarrollador principal es Kohsuke Kawaguchi. Publicado bajo licencia MIT, Jenkins es software libre.[1]
Jenkins fue originalmente desarrollado con el nombre Hudson. El desarrollo de Hudson empezó en el verano de 2004 en Sun Microsystems. Su primera versión fue publicada en febrero de 2005.[2]
En noviembre de 2010 surgieron varios temas respecto a la administración y gestión del proyecto por parte de Oracle. Uno de los puntos claves fue la propiedad de la marca Hudson.[3] Después Oracle reclamó el derecho al nombre y marca registrada Hudson en diciembre de 2010. Como resultado, el 11 de enero de 2011, se hizo una votación entre los miembros de la comunidad para cambiar el nombre del proyecto de “Hudson” a “Jenkins”. La propuesta fue aprobada por la comunidad el 29 de enero de 2011.[4]
El 1 de febrero de 2011, Oracle dijo que continuarían con el desarrollo de Hudson y consideraron a Jenkins un fork en lugar de un cambio de nombre.[5]
Jenkins y Hudson continúan como proyectos independientes y considerando al otro proyecto como fork.
El 7 de julio de 2016 se hizo pública la primera versión 2.x[6] con soporte LTS.
Jenkins dispone de la funcionalidad de extenderse mediante plugins.[7] Existen multitud de plugins que permiten cambiar el comportamiento de Jenkins o añadir nueva funcionalidad.
Permite configurar las notificaciones de correo electrónico con los resultados de los builds. Para ello se debe configurar el servidor de correo. Si se ha configurado, Jenkins enviará un correo electrónico a los destinatarios especificados cuando se produce un cierto acontecimiento importante:
Este plugin le permite almacenar credenciales en Jenkins. Proporciona una API estándar para otros plugins para almacenar y recuperar diferentes tipos de credenciales.
Características visibles de usuario son:
Añade la posibilidad de controlar el resultado de los trabajos realizados externamente.
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. Este método de lanzamiento:
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.
Este plugin permite la selección de la opción "Publicar a Javadoc" como una acción Post-build, especificando el directorio de donde debe ser extraído el Javadoc y si se espera una retención para cada build exitoso.
Jenkins puede ser utilizado para poner en la agenda y monitorizar la ejecución de una script de shell por una interfaz de usuario, en vez de una terminal de comandos.
La seguridad en Jenkins depende de 2 factores: control de acceso y protección de amenazas externas. El control de acceso puede ser personalizado por 2 medios: autenticación y autorización de usuario. Protección de amenazas externas tales como ataques de CSRF y builds maliciosos, también son soportados.[13]