Cel: +52 (55) 3040-5403 Correo: mariana.velazquez@recluit.com
post-tittle

¿Qué es Jenkins?

Por: Reclu IT

23 de octubre de 2023

Jenkins es una herramienta de automatización de código abierto escrita en Java con complementos creados para fines de Continuous Integration (CI) o Continuous Delivery (CD).

Jenkins se utiliza para crear y testear los proyectos de software continuamente, lo que facilita a los desarrolladores la integración de cambios en el proyecto y facilita a los usuarios la obtención de una nueva versión.

Con Jenkins, las organizaciones pueden acelerar el proceso de desarrollo de software a través de la automatización. Integra procesos de ciclo de vida de desarrollo de todo tipo, incluidos compilación, documentación, prueba, empaquetado, etapa, implementación, análisis estático y mucho más.

Jenkins logra la integración continua con la ayuda de complementos. Los complementos permiten la integración de varias etapas de DevOps. Si deseas integrar una herramienta en particular, debe instalar los complementos para esa herramienta. Por ejemplo, Git, proyecto Maven 2, Amazon EC2, editor HTML, etc.

Historia

En 2004, Kohsuke Kawaguchi era desarrollador de Java en Sun. Kawaguchi se cansó de romper compilaciones en su trabajo de desarrollo y quería encontrar una manera de saber, antes de enviar el código al repositorio, si el código funcionaría. Entonces, Kawaguchi construyó un servidor de automatización en Java para hacerlo posible, llamado Hudson, éste se hizo popular en Sun y se extendió a otras empresas.

Saltamos hasta 2011, y una disputa entre Oracle (que había adquirido Sun) y la comunidad de código abierto independiente de Hudson llevó a una bifurcación con un cambio de nombre, Jenkins. En 2014, Kawaguchi se convirtió en director de tecnología de CloudBees, que ofrece productos de entrega continua basados ​​en Jenkins.

Ambas bifurcaciones siguieron existiendo, aunque Jenkins fue más activo. Hoy, el proyecto Jenkins sigue activo. El sitio web de Hudson se cerró el 31 de enero de 2020.

En marzo de 2019, la Linux Foundation, junto con CloudBees, Google y varias otras empresas, lanzaron una nueva base de software de código abierto llamada Continuous Delivery Foundation (CDF). Los colaboradores de Jenkins decidieron que su proyecto debería unirse a esta nueva fundación. Kawaguchi escribió en ese momento que nada de importancia cambiaría para los usuarios.

En enero de 2020, Kawaguchi anunció que se mudaría a su nueva startup, Launchable. También dijo que oficialmente se alejaría de Jenkins, aunque permanecería en el Comité de Supervisión Técnica de la Fundación de Entrega Continua, y cambiaría su rol en CloudBees a un asesor.

En la actualidad, Jenkins es el servidor de automatización de código abierto líder con unos 1.600 complementos para respaldar la automatización de todo tipo de tareas de desarrollo. El problema que Kawaguchi estaba tratando de resolver originalmente, la integración continua y la entrega continua de código Java (es decir, construir proyectos, ejecutar pruebas, realizar análisis de código estático e implementar) es solo uno de los muchos procesos que la gente automatiza con Jenkins. Esos 1.600 complementos abarcan cinco áreas: plataformas, interfaz de usuario, administración, gestión de código fuente y, con mayor frecuencia, gestión de compilaciones.

¿Cómo funciona?

Jenkins se distribuye como un archivo WAR y como paquetes de instalación para los principales sistemas operativos, como un paquete Homebrew, como una imagen de Docker y como código fuente. El código fuente es principalmente Java, con algunos archivos Groovy, Ruby y Antlr.

Es posible ejecutar Jenkins WAR de forma independiente o como servlet en un servidor de aplicaciones Java como Tomcat. En cualquier caso, genera una interfaz de usuario web y acepta llamadas a su API REST.

Cuando se ejecuta Jenkins por primera vez, crea un usuario administrativo con una contraseña aleatoria larga, que puede pegar en su página web inicial para desbloquear la instalación.

Beneficios

  • Es de código abierto y es fácil de usar, fácil de instalar y no requiere instalaciones o componentes adicionales.
  • Fácilmente configurable. Jenkins se puede modificar y extender fácilmente. Implementa código de forma instantánea, genera informes de prueba. Jenkins se puede configurar de acuerdo con los requisitos de integraciones continuas y entrega continua.
  • Plataforma independiente. Jenkins está disponible para todas las plataformas y diferentes sistemas operativos, ya sea OS X, Windows o Linux.
  • Rich Plugin ecosystem. El amplio conjunto de complementos hace que Jenkins sea flexible y permita construir, implementar y automatizar en varias plataformas.
  • Fácil soporte debido a que es de código abierto y ampliamente utilizado, no hay escasez de soporte de grandes comunidades en línea de equipos ágiles.
  • El desarrollador escribe las pruebas para detectar los errores de su código lo más rápido posible. De modo que el tiempo del desarrollador se guarda sin desperdiciar integraciones plagadas de errores a gran escala.
  • Los problemas se detectan y resuelven casi de inmediato, lo que mantiene el software en un estado en el que se puede liberar en cualquier momento de forma segura.
  • La mayor parte del trabajo de integración está automatizado. Por lo tanto, los problemas de integración son menores. Esto ahorra tiempo y dinero durante la vida útil de un proyecto.

Docker junto con Jenkins está teniendo un profundo efecto en los equipos de desarrollo. Todo el mundo sabe que Docker optimiza el desarrollo y hace que la implementación sea mucho más fácil.

Deja tu comentario

Tu dirección de correo electrónico no será publicada.

Campos obligatorios(*)
post-tittle

¿Qué es Jenkins?

Por: Reclu IT

23 de octubre de 2023

Jenkins es una herramienta de automatización de código abierto escrita en Java con complementos creados para fines de Continuous Integration (CI) o Continuous Delivery (CD).

Jenkins se utiliza para crear y testear los proyectos de software continuamente, lo que facilita a los desarrolladores la integración de cambios en el proyecto y facilita a los usuarios la obtención de una nueva versión.

Con Jenkins, las organizaciones pueden acelerar el proceso de desarrollo de software a través de la automatización. Integra procesos de ciclo de vida de desarrollo de todo tipo, incluidos compilación, documentación, prueba, empaquetado, etapa, implementación, análisis estático y mucho más.

Jenkins logra la integración continua con la ayuda de complementos. Los complementos permiten la integración de varias etapas de DevOps. Si deseas integrar una herramienta en particular, debe instalar los complementos para esa herramienta. Por ejemplo, Git, proyecto Maven 2, Amazon EC2, editor HTML, etc.

Historia

En 2004, Kohsuke Kawaguchi era desarrollador de Java en Sun. Kawaguchi se cansó de romper compilaciones en su trabajo de desarrollo y quería encontrar una manera de saber, antes de enviar el código al repositorio, si el código funcionaría. Entonces, Kawaguchi construyó un servidor de automatización en Java para hacerlo posible, llamado Hudson, éste se hizo popular en Sun y se extendió a otras empresas.

Saltamos hasta 2011, y una disputa entre Oracle (que había adquirido Sun) y la comunidad de código abierto independiente de Hudson llevó a una bifurcación con un cambio de nombre, Jenkins. En 2014, Kawaguchi se convirtió en director de tecnología de CloudBees, que ofrece productos de entrega continua basados ​​en Jenkins.

Ambas bifurcaciones siguieron existiendo, aunque Jenkins fue más activo. Hoy, el proyecto Jenkins sigue activo. El sitio web de Hudson se cerró el 31 de enero de 2020.

En marzo de 2019, la Linux Foundation, junto con CloudBees, Google y varias otras empresas, lanzaron una nueva base de software de código abierto llamada Continuous Delivery Foundation (CDF). Los colaboradores de Jenkins decidieron que su proyecto debería unirse a esta nueva fundación. Kawaguchi escribió en ese momento que nada de importancia cambiaría para los usuarios.

En enero de 2020, Kawaguchi anunció que se mudaría a su nueva startup, Launchable. También dijo que oficialmente se alejaría de Jenkins, aunque permanecería en el Comité de Supervisión Técnica de la Fundación de Entrega Continua, y cambiaría su rol en CloudBees a un asesor.

En la actualidad, Jenkins es el servidor de automatización de código abierto líder con unos 1.600 complementos para respaldar la automatización de todo tipo de tareas de desarrollo. El problema que Kawaguchi estaba tratando de resolver originalmente, la integración continua y la entrega continua de código Java (es decir, construir proyectos, ejecutar pruebas, realizar análisis de código estático e implementar) es solo uno de los muchos procesos que la gente automatiza con Jenkins. Esos 1.600 complementos abarcan cinco áreas: plataformas, interfaz de usuario, administración, gestión de código fuente y, con mayor frecuencia, gestión de compilaciones.

¿Cómo funciona?

Jenkins se distribuye como un archivo WAR y como paquetes de instalación para los principales sistemas operativos, como un paquete Homebrew, como una imagen de Docker y como código fuente. El código fuente es principalmente Java, con algunos archivos Groovy, Ruby y Antlr.

Es posible ejecutar Jenkins WAR de forma independiente o como servlet en un servidor de aplicaciones Java como Tomcat. En cualquier caso, genera una interfaz de usuario web y acepta llamadas a su API REST.

Cuando se ejecuta Jenkins por primera vez, crea un usuario administrativo con una contraseña aleatoria larga, que puede pegar en su página web inicial para desbloquear la instalación.

Beneficios

  • Es de código abierto y es fácil de usar, fácil de instalar y no requiere instalaciones o componentes adicionales.
  • Fácilmente configurable. Jenkins se puede modificar y extender fácilmente. Implementa código de forma instantánea, genera informes de prueba. Jenkins se puede configurar de acuerdo con los requisitos de integraciones continuas y entrega continua.
  • Plataforma independiente. Jenkins está disponible para todas las plataformas y diferentes sistemas operativos, ya sea OS X, Windows o Linux.
  • Rich Plugin ecosystem. El amplio conjunto de complementos hace que Jenkins sea flexible y permita construir, implementar y automatizar en varias plataformas.
  • Fácil soporte debido a que es de código abierto y ampliamente utilizado, no hay escasez de soporte de grandes comunidades en línea de equipos ágiles.
  • El desarrollador escribe las pruebas para detectar los errores de su código lo más rápido posible. De modo que el tiempo del desarrollador se guarda sin desperdiciar integraciones plagadas de errores a gran escala.
  • Los problemas se detectan y resuelven casi de inmediato, lo que mantiene el software en un estado en el que se puede liberar en cualquier momento de forma segura.
  • La mayor parte del trabajo de integración está automatizado. Por lo tanto, los problemas de integración son menores. Esto ahorra tiempo y dinero durante la vida útil de un proyecto.

Docker junto con Jenkins está teniendo un profundo efecto en los equipos de desarrollo. Todo el mundo sabe que Docker optimiza el desarrollo y hace que la implementación sea mucho más fácil.

Deja tu comentario

Tu dirección de correo electrónico no será publicada.

Campos obligatorios(*)

Política de privacidad de www.recluit.mx

Para recibir la información sobre sus Datos Personales, la finalidad y las partes con las que se comparte,
contacten con el Propietario.