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.