Uso de la integración continua

La integración continua (CI) es el proceso de crear automáticamente compilaciones y pruebas de código cada vez que un miembro del equipo confirma cambios en el control de versiones. Una confirmación de código en la rama principal o troncal de un repositorio compartido activa el sistema de compilación automatizado para compilar, probar y validar la rama completa. La CI anima a los desarrolladores a que compartan el código y las pruebas unitarias, ya que incorpora sus cambios en el repositorio de control de versiones compartido después de terminen cada tarea.

Los desarrolladores de software suelen trabajar de forma aislada y luego necesitan integrar los cambios en el resto de la base del código de un equipo. Si se esperan días o semanas para integrar código, esto puede generar muchos conflictos de combinación, dificultades para corregir errores, que se apliquen diferentes estrategias de código y se dupliquen los esfuerzos. La CI evita estos problemas porque requiere que el código del equipo de desarrollo se combine continuamente con la rama de control de versiones compartida.

La CI tiene siempre actualizada la rama principal. Los desarrolladores pueden usar sistemas de control de versiones modernos como Git para aislar su trabajo en ramas de funciones de corta duración. Terminada la función, el desarrollador envía una solicitud de incorporación de cambios de la rama de la función a la rama principal. Al aprobar la solicitud de incorporación de cambios, los cambios se combinan en la rama principal y se puede eliminar la rama de la función.

Los equipos de desarrollo repiten este proceso por cada instancia de trabajo. Los equipos pueden crear directrices de rama para asegurarse de que la rama principal respeta los criterios de calidad deseados.

Las definiciones de compilaciones indican que todas las confirmaciones en la rama principal activan el proceso automatizado de compilación y pruebas. Las pruebas automatizadas comprueban que cada compilación presenta una calidad uniforme. La CI detecta los errores antes en el ciclo de desarrollo, por lo que incurren en menos costes al corregirlos. 

La CI es una funcionalidad estándar en plataformas modernas de DevOps. Los usuarios de GitHub pueden implementar la CI a través de Acciones de GitHub. Los usuarios de Azure DevOps pueden usar Azure Pipelines.