La integración contínua (CI por sus siglas en inglés) es el proceso de automatizar una build y testing del código cada vez que una persona del equipo manda cambios al control de versiones. (fuente)
¿Debería tu proyecto/equipo usar CI? Sí, sí, y sí! Es una de las claves de tener un proceso automatizado de build.
Así es como sería una build de CI que simplemente compile nuestro código:
Esta build no hace nada más, solo compila. Así a priori no parece muy útil pero si activamos la opción de integración continua:
Después de cada check-in de cada desarrollador se lanzará una build que compilará todo el código y fallará si hay algún error. ¿Claro que no debería fallar no? Porque todos compilamos los proyectos antes de hacer el check-in, ¿verdad?
Pues por eso y porque las prisas son malas y a veces tenemos que vivir con ellas, esta build puede ser bastante útil. Sobretodo cuando lo tengamos configurado para la rama Main y nos «chive» los errores que pueden aparecer después de un merge con conflictos. Y cuando hay que pasar algo urgente a producción y tenemos poco margen nos interesa poder generar el paquete lo antes posible. Usando esta estrategia conseguimos que generar un DP con nuestros paquetes tardara 9 minutos en vez de 1h15m generando todo.