Sobes.tech
Junior

¿Qué es la implementación continua (continuous deployment)?

sobes.tech AI

Respuesta de la IA

Este es un enfoque en el desarrollo de software en el que cada cambio, que pasa por una prueba automatizada en la canalización y es aprobado, se despliega automáticamente en el entorno de producción. La principal diferencia con la Entrega Continua es la ausencia de un paso manual de aprobación antes del despliegue en producción.

Etapas principales:

  1. Commit: El desarrollador realiza un commit de los cambios en el sistema de control de versiones (por ejemplo, Git).
  2. Build: Construcción automática del artefacto (imagen, paquete, etc.).
  3. Test: Ejecución de pruebas automáticas (pruebas unitarias, de integración, funcionales, de carga, etc.).
  4. Deploy: Si todas las pruebas se pasan con éxito, el artefacto se despliega automáticamente en el entorno de trabajo.

Componentes clave:

  • Alto nivel de automatización.
  • Infraestructura confiable.
  • Uso de prácticas de Integración Continua (CI) y Entrega Continua (CD).
  • Monitoreo y registro para detectar problemas rápidamente.
  • Capacidad de revertir rápidamente.
# Ejemplo de parte de la canalización en GitLab CI/CD
stages:
  - build
  - test
  - deploy

build_job:
  stage: build
  script:
    - echo "Construyendo la aplicación..."
    - # Comandos de construcción aquí

test_job:
  stage: test
  script:
    - echo "Ejecutando pruebas..."
    - # Comandos de prueba aquí
  only:
    - main # Solo activar para la rama principal

deploy_job:
  stage: deploy
  script:
    - echo "Desplegando en producción..."
    - # Comandos de despliegue aquí
  when: on_success # Desplegar solo si las etapas anteriores tienen éxito
  only:
    - main
Ventajas Desventajas
Lanzamiento rápido de nuevas funciones/correcciones Altos requisitos de calidad en las pruebas
Reducción del TTM (Tiempo hasta el Mercado) Riesgo potencial de desplegar cambios no deseados
Disminución del riesgo en cada despliegue Complejidad en la implementación sin procesos maduros de CI/CD
Retroalimentación rápida de los usuarios Necesidad de monitoreo confiable y capacidad de revertir