Exploración de la integración continua

Completado

La integración continua (CI) es uno de los elementos de DevOps más esenciales. Fomenta la colaboración, contribuye a la detección temprana de problemas de calidad del código y favorece la optimización del proceso de desarrollo. También sirve como base de una entrega y una implementación continuas. Mediante los procedimientos de CI, la organización que se describe en nuestro escenario de ejemplo podrá prescindir del trabajo manual que supone crear y probar las aplicaciones, con lo que se agilizará eficazmente la entrega de estas a los usuarios. Para que pueda comprender en su totalidad las ventajas de la CI, se las describimos en esta unidad.

¿Qué es la integración continua?

La integración continua es un proceso que consiste en compilar y probar automáticamente versiones actualizadas del software tras las actualizaciones individuales del repositorio de software. En general, el patrón de integración implica que los desarrolladores envíen los cambios en ramas independientes a través de solicitudes de cambios. Los cambios se someten a una revisión colectiva y, si el resultado es satisfactorio, se combinan en la rama principal. Se pueden usar eventos individuales de confirmación o combinación para desencadenar la compilación y las pruebas de código con el fin de asegurarse de que los cambios propuestos o resultantes no tengan efectos adversos. Una vez implementada la integración continua, la compilación y las pruebas están totalmente automatizadas.

Diagrama del flujo de integración continua.

La automatización se basa en las definiciones de compilación y pruebas creadas por los desarrolladores e implementadas en la plataforma de hospedaje del repositorio. Por ejemplo, GitHub ofrece para este fin el flujo de trabajo Acciones de GitHub, mientras que Azure DevOps se basa en Azure Pipelines.



¿Cuáles son las ventajas de la integración continua?

Las principales ventajas asociadas a la integración continua se basan en la estrategia general de desplazamiento a la izquierda, que (como verá más adelante en este módulo) también influye en muchos otros procedimientos de DevOps. La premisa fundamental es que cuanto más tiempo se tarde en detectar un problema introducido a través de un cambio en el código, más costosa y laboriosa resultará su corrección. Con la integración continua, la compilación y las pruebas del código se realizan lo antes posible. También se implementan de forma automatizada, lo que aumenta su velocidad y su fiabilidad. La integración continua mejora la coherencia, ya que garantiza que las compilaciones y las pruebas se realicen de forma reproducible. Esa coherencia, a su vez, permite aplicar estándares de programación, lo que da como resultado un código más limpio y fácil de mantener. Por último, pero no menos importante, la integración continua suele formar parte de la entrega continua, lo que simplifica toda la administración del ciclo de vida de las aplicaciones. La minimización de la sobrecarga asociada al mantenimiento de las actividades de compilación, prueba e implementación aumenta la productividad general de los equipos de desarrollo y operaciones, con lo que se reduce el tiempo de comercialización de los productos de software.