Integración, entrega e implementación continuas

Hasta ahora, hemos sido un poco descuidados y hemos combinado lo que podría definirse como tres pasos o etapas independientes. Integración, entrega e implementación continuas.

• Integración continua

Los cambios deben fusionarse en la rama principal («maestra») con la mayor frecuencia posible. Las compilaciones automatizadas se ejecutan en tantas variaciones de software y hardware como sea posible; los conflictos se resuelven tan pronto como surgen.

• Entrega continua

El proceso de lanzamiento está automatizado y los proyectos están listos para entregarse a los consumidores de la aplicación. Se realizan pruebas exhaustivas en todas las plataformas relevantes.

• Implementación continua

El producto se lanza a los clientes, una vez más de forma automatizada.

El intervalo de tiempo entre estos pasos debe ser lo más cercano a cero posible. En un mundo perfecto, los cambios de los desarrolladores pueden llegar a los clientes finales el mismo día o incluso en minutos.

Aunque estos términos pueden definirse de forma diferente; por ejemplo, considerando que la integración continua incluye tanto la entrega como la implementación, hemos querido detallar las diferencias.