Hudson es una herramienta de integración continua (CI) discontinuada escrita en Java , que se ejecuta en un contenedor de servlets como Apache Tomcat o el servidor de aplicaciones GlassFish . Admite herramientas SCM , incluidas CVS , Subversion , Git , Perforce , Clearcase y RTC , y puede ejecutar proyectos basados en Apache Ant y Apache Maven , así como scripts de shell arbitrarios y comandos por lotes de Windows. El desarrollador principal de Hudson fue Kohsuke Kawaguchi , que trabajaba para Sun Microsystems en ese momento. Publicado bajo la licencia MIT , Hudson es software libre . [4]
Las compilaciones se pueden iniciar por varios medios, incluida la programación a través de un mecanismo similar a cron , la compilación cuando se hayan completado otras compilaciones y solicitando una URL de compilación específica.
Hudson se convirtió en una alternativa popular a CruiseControl y otros servidores de código abierto en 2008. [5] [6] En la conferencia JavaOne en mayo de 2008, fue el ganador del premio Duke's Choice en la categoría de Soluciones para desarrolladores. [7]
Cuando Oracle compró Sun, declaró su intención de registrar el nombre Hudson y comenzó el desarrollo de una versión comercial. La mayoría de la comunidad de desarrollo, incluido Kawaguchi, decidió continuar el proyecto bajo el nombre de Jenkins a principios de 2011. Oracle sostuvo que Hudson continuaba el desarrollo y que Jenkins era una bifurcación; los desarrolladores de Jenkins consideraron que Hudson era la bifurcación.
El interés en Hudson colapsó a partir de entonces. Finalmente, Oracle donó los activos restantes del proyecto Hudson a la Fundación Eclipse a finales de 2012. [8]
Habiendo sido reemplazado por Jenkins, Hudson ya no recibe mantenimiento [9] [10] y se anunció como obsoleto en febrero de 2017. [11] El sitio web de Hudson, hudson-ci.org, se cerró el 31 de enero de 2020. [12 ]
Hudson es extensible a través de una arquitectura de complementos, y se han puesto a disposición del público muchos complementos que lo extienden mucho más allá de ser simplemente una herramienta de compilación para proyectos Java. Hay complementos disponibles para integrar Hudson con la mayoría de los sistemas de control de versiones y bases de datos de errores. Muchas herramientas de compilación son compatibles a través de sus respectivos complementos. Los complementos también pueden cambiar la apariencia de Hudson o agregar nuevas funciones.
Las compilaciones pueden generar informes de prueba en varios formatos ( JUnit se admite de fábrica, otros a través de complementos) y Hudson puede mostrar los informes, generar tendencias y representarlas en la GUI.
En noviembre de 2010, surgió un problema en la comunidad de Hudson con respecto a la infraestructura utilizada, que creció hasta abarcar preguntas sobre la administración de Oracle y el control percibido del proyecto. [13] Se llevaron a cabo negociaciones entre los principales contribuyentes del proyecto y Oracle; Aunque hubo muchas áreas de acuerdo, un punto clave fue el control del propio nombre "Hudson", que Oracle reclamó y para el cual presentó un registro de marca a principios de diciembre de 2010 (otorgado el 25 de octubre de 2011). [14] Como resultado, el 11 de enero de 2011, se hizo una propuesta para cambiar el nombre del proyecto de "Hudson" a "Jenkins". [15] La propuesta fue aprobada abrumadoramente por quienes votaron el 29 de enero de 2011, creando el proyecto Jenkins . [16] El 1 de febrero de 2011, Oracle indicó que, en asociación con otros miembros de la comunidad, tenía la intención de continuar el desarrollo de Hudson. [17]
El 3 de mayo de 2011, la Fundación Eclipse , junto con los responsables clave de Hudson, Oracle , Sonatype y otros partidarios de la comunidad, presentaron una propuesta formal para la transferencia de Hudson, incluido el código central y las marcas comerciales problemáticas, a la Fundación Eclipse . [18] El fundador de Hudson, Kohsuke Kawaguchi, vio el movimiento de Oracle como una validación de Jenkins. "Cuando hablamos con Oracle para encontrar un punto medio, dejaron muy claro que no tenían intención de ceder el control de la marca. Pero con esta medida, reconocen claramente que Oracle no podría seguir el ritmo del proyecto Jenkins. " [19] El 23 de enero de 2013, Eclipse anunció la inclusión de Hudson 3 en la Fundación Eclipse. [20]
Última versión de producción: producción de Hudson 3.3.3