Plan de Rollback de Releases (CalVer)
📦 Plan de Rollback de Releases (CalVer)
Section titled “📦 Plan de Rollback de Releases (CalVer)”Objetivo
Section titled “Objetivo”Restaurar el sistema a una versión estable anterior en caso de que un despliegue en producción presente fallos críticos.
Pre-requisitos
Section titled “Pre-requisitos”- Backups automáticos de la base de datos antes de cada deploy.
- Retención mínima de 2 releases anteriores (código + base de datos).
- Scripts de deploy y rollback versionados en el repositorio.
- Accesos SSH/CI al servidor de producción y permisos para restaurar DB.
Procedimiento de rollback
Section titled “Procedimiento de rollback”1. Identificar la release a revertir
Section titled “1. Identificar la release a revertir”- Verificar el changelog y las etiquetas en Git.
- Seleccionar la última versión estable conocida (ej.
2025.08.2).
2. Notificar al equipo
Section titled “2. Notificar al equipo”- Informar a gerencia y usuarios internos que se procederá a un rollback.
- Poner el sistema en modo mantenimiento si es posible.
3. Restaurar el código fuente
Section titled “3. Restaurar el código fuente”En el servidor de producción:
git fetch --allgit checkout 2025.08.2Ejecutar el build/deploy de esa versión:
npm install --productionphp artisan migrate --force --path=/database/migrations/rollback-scripts(si las migraciones ya no son compatibles, aplicar rollback manual o usar backups de DB)
4. Restaurar la base de datos (si aplica)
Section titled “4. Restaurar la base de datos (si aplica)”- Si la release fallida ejecutó migraciones irreversibles, restaurar el último backup tomado antes del deploy:
pg_restore -U usuario -d nombre_db backup_2025-09-01.dump5. Verificar servicios
Section titled “5. Verificar servicios”- 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.
6. Comunicar la restauración
Section titled “6. Comunicar la restauración”-
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ó.
Buenas prácticas
Section titled “Buenas prácticas”- 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)?