Skip to content

Plan de Rollback de Releases (CalVer)

📦 Plan de Rollback de Releases (CalVer)

Section titled “📦 Plan de Rollback de Releases (CalVer)”

Restaurar el sistema a una versión estable anterior en caso de que un despliegue en producción presente fallos críticos.


  1. Backups automáticos de la base de datos antes de cada deploy.
  2. Retención mínima de 2 releases anteriores (código + base de datos).
  3. Scripts de deploy y rollback versionados en el repositorio.
  4. Accesos SSH/CI al servidor de producción y permisos para restaurar DB.

  • Verificar el changelog y las etiquetas en Git.
  • Seleccionar la última versión estable conocida (ej. 2025.08.2).
  • Informar a gerencia y usuarios internos que se procederá a un rollback.
  • Poner el sistema en modo mantenimiento si es posible.

En el servidor de producción:

Terminal window
git fetch --all
git checkout 2025.08.2

Ejecutar el build/deploy de esa versión:

Terminal window
npm install --production
php artisan migrate --force --path=/database/migrations/rollback-scripts

(si las migraciones ya no son compatibles, aplicar rollback manual o usar backups de DB)

  • Si la release fallida ejecutó migraciones irreversibles, restaurar el último backup tomado antes del deploy:
Terminal window
pg_restore -U usuario -d nombre_db backup_2025-09-01.dump
  • Revisar logs (storage/logs/laravel.log, logs de servidor).
  • Verificar endpoints críticos (login, inscripciones, pagos).
  • Confirmar con un smoke test rápido que las funciones básicas estén OK.
  • Avisar al equipo y usuarios que el sistema fue revertido y está operativo.

  • Documentar en el changelog interno:

    • Release fallida.
    • Causa del rollback.
    • Versión a la que se revirtió.

  • Automatizar rollback: preparar un script en CI/CD que, dado un tag (2025.08.2), haga rollback automático de código y DB.
  • Tiempo máximo objetivo: rollback completo en menos de 30 minutos.
  • Post-mortem: cada rollback debe generar un informe de incidentes para evitar que vuelva a ocurrir.

👉 Esto se puede documentar como un How-to: Realizar un rollback dentro de tu guía.

¿Querés que te lo arme ya en formato Markdown template (para que lo pegues en la doc y quede listo)?