El concepto de integración continua en el desarrollo de software -> Automatizar la integración de los cambios de código de varios contribuidores en un único proyecto de software.
La Integración Continua (Continuous Integration, CI) consiste en:
- integrar frecuentemente el código en un repositorio común;
- automatizar la compilación;
- ejecutar pruebas automáticas;
- detectar errores de integración cuanto antes.
Su objetivo es evitar los problemas derivados de integrar grandes cambios al final del desarrollo.
Esquema muy útil para estudiar
Integración Continua (CI)
- Integración frecuente.
- Repositorio común.
- Compilación automática.
- Tests automáticos.
- Detección temprana de errores.
Entrega Continua (Continuous Delivery)
Además de la CI:
- Artefacto listo para producción.
- El despliegue suele requerir una aprobación.
Despliegue Continuo (Continuous Deployment)
Además de CI/CD:
- El despliegue en producción es automático.
Truco para recordar
| Concepto | Idea |
|---|---|
| CI | Integrar continuamente |
| CD (Delivery) | Preparar para desplegar |
| CD (Deployment) | Desplegar automáticamente |
¿Cuál de las siguientes opciones describe correctamente el término «Pipeline» en el contexto de Integración Continua (CI)? -> Un conjunto de etapas automatizadas que procesan el código, desde la construcción hasta el despliegue.
Un Pipeline es una cadena de fases automatizadas que ejecuta el código desde que un desarrollador hace un cambio hasta que la aplicación queda preparada (o incluso desplegada) en producción.
Un pipeline típico puede ser:
Commit
↓
Build
↓
Tests
↓
Análisis de calidad
↓
Empaquetado
↓
Despliegue
Cada fase se ejecuta automáticamente si la anterior ha tenido éxito.
Precisamente un pipeline pretende automatizar el proceso y evitar pruebas manuales
repositorio Git -> Un repositorio de código que debe ser actualizado antes de cada despliegue.
Esquema muy útil para estudiar
Pipeline
Es una secuencia automática de etapas.
Ejemplo:
Código
↓
Build
↓
Tests
↓
Análisis
↓
Package
↓
Deploy
Pipeline de CI
Normalmente incluye:
- Compilación.
- Tests unitarios.
- Análisis estático.
- Cobertura.
- Empaquetado.
Pipeline de CD
Además puede incluir:
- Despliegue en preproducción.
- Despliegue en producción.
- Validaciones.
- Rollback.
No confundir
| Concepto | Qué es |
|---|---|
| Repositorio | Donde se almacena el código |
| Commit | Cambio enviado al repositorio |
| Pipeline | Flujo automático de tareas |
| Build | Compilación |
| Deploy | Despliegue |
Truco para recordar
Pipeline
↓
Cadena de montaje.
Cada estación hace una tarea automáticamente.