Files
linkedsign/DEPLOY_WEB.md
T

57 lines
2.1 KiB
Markdown

# Deploy Web
## Versión actual
- Base actual: `1.2.22`
- Fuente de verdad: [VERSION](/home/mgonzalez/desarrollo/react/linkedsign/VERSION)
- Historial de cambios: [CHANGELOG.md](/home/mgonzalez/desarrollo/react/linkedsign/CHANGELOG.md)
## Pasos
1. Haz los cambios en `dev`.
2. Si corresponde, sube versión:
- `./scripts/set-version.sh X.Y.Z`
- actualiza `CHANGELOG.md`
3. Prueba local:
- `cd frontend && npm run build`
- `cd ../backend && node -e "require('./src/app')"`
4. Guarda cambios en git:
- `git add .`
- `git commit -m "mensaje"`
5. Sube a Gitea:
- `git push origin main`
6. En el servidor app entra por SSH:
- `ssh deploy@192.168.222.3 -p 2203`
7. Actualiza código:
- `cd /opt/apps/linkedsign/source`
- `git fetch origin main`
- `git reset --hard origin/main`
- `rm -rf /opt/apps/linkedsign/source/android /opt/apps/linkedsign/source/android_react /opt/apps/linkedsign/source/android_firma_electronica.html`
8. En producción usa el script seguro:
- `cd /opt/apps/linkedsign/source`
- `bash scripts/deploy_prod_web.sh`
9. Reinicia servicios:
- `sudo systemctl restart linkedsign-frontend`
- `sudo systemctl restart linkedsign-backend`
10. Limpia archivos `.md` en producción:
- `find /opt/apps/linkedsign -type f -iname '*.md' -delete`
11. Verifica:
- `curl -I http://127.0.0.1:3000`
- `curl http://127.0.0.1:4000/health`
## Notas
- Nunca copies `.env` desde `dev` a `prod`.
- El archivo runtime de producción es:
- `/opt/apps/linkedsign/backend/.env`
- Si cambias variables de entorno, actualiza solo ese archivo runtime.
- Si cambias rutas del APK o storage, revisa también `PRODUCCION.md`.
- En producción no debe quedar código fuente Android; solo el APK release en `/opt/apps/linkedsign/android/apk/`.
- Si en el despliegue hay cambios Android, recuerda que a producción solo pasa el `APK release` versionado; no el proyecto Android completo.
- El deploy web no debe tocar ni reemplazar:
- `/opt/apps/linkedsign/backend/.env`
- `/opt/apps/linkedsign/storage/`
- `/opt/apps/linkedsign/logs/`
- `/opt/apps/linkedsign/android/apk/`
- permisos hardened de producción