Durante años las empresas de software han mantenido a desarrolladores y profesionales de operaciones aislados en departamentos diferentes. En
BABEL, hemos apostado por derribar este muro, implementando una nueva cultura de trabajo conocida como
DevOps.
A través de la comunicación y la colaboración, DevOps logra que desarrolladores y profesionales de operaciones funcionen como un solo equipo perfectamente sincronizado. Este ambiente de trabajo facilita el proceso de integración continua, pero...
¿En qué consiste la integración continua?
/Haz clic en la imagen para ver el vídeo/
La integración continua en pocas palabras es el nombre que se le da a la automatización de las labores de configuración de versiones, compilación, test y análisis del código que generan un entregable listo para ser desplegado.
Las
principales ventajas que aporta son las siguientes:
- Software de mejor calidad: Desde las etapas más tempranas de la creación de la aplicación, hasta el despliegue del software, se verifica continuamente, a través de pruebas y análisis para que no existan posibles defectos que perjudiquen el desarrollo del código, ni dificulten el uso del software.
- Multi-tecnología: Se pueden incluir múltiples tecnologías en el ciclo de integración continua.
- Crecimiento de la productividad: El desarrollador queda liberado de ciertas cargas repetitivas que están ahora automatizadas y puede focalizar sus esfuerzos en su área de trabajo.
- Escalabilidad: No es un sistema cerrado, permite asimilar nuevas herramientas que mejoren la comunicación y la eficacia. Los continuos avances tecnológicos exigen una permanente innovación que permita mantener el estándar de agilidad.
- Reducción de costes: El aumento de la eficacia de los desarrolladores, de la productividad, el menor tiempo requerido para la entrega de un producto digital y la agilidad del proceso en general da como resultado una reducción de gastos.
Los pasos del proceso son fáciles de entender:
- Los desarrolladores generan nuevo código, y lo combinan con el ya existente mediante un repositorio.
- Para comprobar que todo funciona correctamente, se realizan pruebas automáticas que revisan la funcionalidad y calidad. Es decir, se comprueba si existen líneas de código duplicadas, si se respetan los estándares de codificación, si se llevan a cabo las mejores prácticas establecidas, etc.
- Cuando el nuevo código ha superado con éxito todas las comprobaciones se genera un entregable, que es el resultado de una ejecución exitosa.
- Para que los desarrolladores puedan hacer uso del mismo, este se subirá a una plataforma, que puede contener distintas tecnologías, aquí pueden ocurrir 2 cosas (dependerá de las limitaciones de cada entorno).
- Mediante intervención humana, se podrá desplegar el entregable en el entorno y se comprobarán las nuevas funcionalidades introducidas en el código y se aprueba el pase a producción.
- Se automatiza el lanzamiento a producción sin intervención humana.
La
integración continua evoluciona, no es estática, se va adaptando a las tecnologías nuevas y diferentes procesos de automatización necesarios para que la ejecución de los proyectos sea cada vez de mejor calidad, con tiempos de entregas más cortos y en consecuencia reducir los costes.
Y tú, ¿Qué estás esperando para unirte?