Desarrollo ágil con integración continua
La integración continua es la práctica ampliamente recomendada y aplicada en metodologías ágiles y DevOps, que incluye la integración regular y la prueba de los cambios de lo productos con
¿Qué es la integración continua?
La integración continua es una práctica dentro de la metodología DevOps de ingeniería de software que implica hacer integraciones automáticas de un proyecto con cierta con cierta frecuencia para así poder detectar posibles fallos lo antes posible.
Ventajas de la integración continua
- Los desarrolladores podrán detectar y resolver los problemas de integración de forma continua en entornos no productivos (staging y preproducción), de manera que se evitará el caos de última hora cuando se acercan las fechas de entrega de los proyectos y en entornos productivos
- Disponibilidad constante de una versión para pruebas o lanzamientos anticipados
- Ejecución inmediata de las pruebas unitarias
- Monitorización continua de las métricas de calidad del proyecto
Integración continua, una práctica de DevOps
En esta práctica se combinan herramientas de gestión de configuración (CM) con otras herramientas de pruebas y desarrollo para detectar qué cantidad del código que está en proceso de creación está listo para pasar a producción, así como herramientas de control de despliegue. Para ello, es importante mantener un intercambio fluido de información entre las fases de prueba y de desarrollo que permita identificar y resolver con rapidez los posibles problemas que puedan surgir en el código.
Jenkins, una herramienta de integración continua
Jenkins es un servidor de automatización open source que se utiliza para compilar y probar proyectos de software de forma continua, lo que facilita a los desarrolladores integrar cambios en un proyecto y entregar nuevas versiones a los usuarios.
¿Qué se puede hacer con Jenkins?
Con esta herramienta podemos automatizar varias tareas que nos ayudarán a reducir el time-to-market de nuestros productos digitales o de las nuevas versiones de los mismos. Concretamente, con Jenkins podemos:- Automatizar la compilación y testeo de software
- Notificar a los equipos correspondientes la detección de errores
- Desplegar los cambios en el código que hayan sido validados
- Desplegar los cambios en el código que hayan sido validados