En un artículo anterior hablamos sobre el significado de Continuos Integration. Como resumen, podemos decir que CI es el proceso de integrar pruebas y código para recibir feedback de cada cambio realizado en nuestro proyecto para aumentar nuestra productividad.
Una de las herramientas que nos puede ayudar a automatizar pruebas y darnos ese feedback es Jenkins, teniendo como beneficio el gran soporte de la comunidad, ya que es open source, así como su cantidad de plugins e integraciones disponibles con Slack, Github, Docker y muchos más.
Jenkins es, por definición, un servidor open source de integración continua (CI). Es el software de automatización más usado de todos, escrito en Java. Es muy conveniente al contar con más de 14.000 plugins para soportar la automatización de todo tipo de tareas.
Jenkins es nuestro inspector, es como esa persona que revisa que todo esté en perfectas condiciones antes de ser enviado a producción, puede hacer cosas por nosotros al momento de que detecte cambios en nuestro código, podemos decirle haga deploy si todo está correcto y nos mande una notificación a slack si algo falla.
Uno de los más importantes a instalar si quieres tener un backup de la configuración, jobs o historial de builds. Resguarda solo la parte importante de nuestro entorno de trabajo
Por supuesto, si tu equipo tiene un canal específico para estar atento a todo lo que pasa en el proceso de CI, CD (Continuous Delivery) o la aplicación en general. Con este plugin puedes recibir notificaciones en un canal de slack o por mensajes privados sobre el status de los últimos build.
Conocemos la popularidad que esta agarrando Kubernetes para la orquestación de containers. Si estás pensando en usarlo o ya lo estás haciendo, este plugin puede ser muy importante.
Este nos permite capturar reportes de herramientas populares de testing como JMeter, JUnit, Taurus (a través de este podemos publicar desde Selenium, PyTest, Mocha, etc.). Jenkins generará gráficos con el reporte de rendimiento.
Permite que Jenkins inicie slaves en EC2 dependiendo de la demanda de nuestra aplicación y los detiene cuando dejan de usarse.
Jenkins es una herramienta poderosa para automatizar varios procesos como Code Reviews, correr Tests, Deploy y varios de los pasos que implica llevar y monitorear una aplicación en un servidor, incluso antes de eso. Los plugins nos ayudan a extender la funcionalidad de Jenkins de una manera increíble.
Puedes aprender todo lo importante en el Curso Básico de Jenkins.
Me queda una gran sensación, ya que Jenkins además de poder ayudar a integrar el código cada cierto tiempo, también puede actuar como herramienta para enlazar en todo el proceso de desarrollo.
Gracias! gran artículo @@iKenshu una pregunta: ¿Cada pluggin tiene un precio o todo es ‘gratis’? Saludos.
Gracias! Son gratis 😃