hbox-docs/scripts/deploy.sh
Leopoldo Rodríguez 4cc18b517f Cuentas en bloque, contraseña inicial y sitio/correo en Equipo
backend/cuentas.py: restablece en bloque (todos menos leo y claude) y da de alta
a varios desde backend/cuentas/2026-10-23_alta-sitios.json (jesush, miguel, joel,
antonio, danielg); la contraseña la pide en la terminal. Miembros con sitio,
correo y correo_alt; marca contrasena_inicial con aviso en el sitio hasta que la
persona la cambie. Los ids de responsable se recalculan con el equipo de hoy.
Lote 2026-10-23_usuarios-campo. Pruebas: tests-cuentas.sh (47).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016X4CAujMuib2tDqt9JRg6X
2026-10-23 14:14:50 -06:00

33 lines
1.7 KiB
Bash
Executable File

#!/usr/bin/env bash
# Construye el sitio y lo sube al servidor de Helgen por rsync/ssh.
# Uso: ./scripts/deploy.sh [usuario@servidor] [ruta-remota]
# Requiere: pip install mkdocs-material y acceso SSH al servidor (puerto 22).
set -euo pipefail
cd "$(dirname "$0")/.."
REMOTE="${1:-leo@git.helgen.online}"
REMOTE_PATH="${2:-/srv/projects/drogheda/hbox-docs/site}"
PORT="${SSH_PORT:-22}"
mkdocs build --strict
rsync -az --delete -e "ssh -p $PORT" site/ "$REMOTE:$REMOTE_PATH/"
echo "Sitio publicado en $REMOTE:$REMOTE_PATH (puerto $PORT)"
# El backend NO vive en git en el servidor: se copia igual que el sitio.
# Sin --delete (ahí junto al app.py viven el venv y __pycache__).
BACKEND_PATH="$(dirname "$REMOTE_PATH")/backend"
rsync -az -e "ssh -p $PORT" backend/app.py backend/requirements.txt backend/seed_1013.py \
backend/parche-nginx-api.py backend/actas-hbox.service backend/tablero.py backend/instalaciones.py \
backend/cuentas.py "$REMOTE:$BACKEND_PATH/"
# Archivos de altas para cuentas.py (23-oct): sin contraseñas; la contraseña la pide el script en la terminal.
rsync -az -e "ssh -p $PORT" backend/cuentas/ "$REMOTE:$BACKEND_PATH/cuentas/"
echo "Backend copiado en $REMOTE:$BACKEND_PATH"
# Tablero (21-oct): baja la foto a _estado/ (para que Claude lea el tablero) y avisa si hay lotes
# de Claude sin aplicar. Solo lee; los lotes se aplican con ./scripts/tablero.sh aplicar.
REMOTE="$REMOTE" SSH_PORT="$PORT" BACKEND_PATH="$BACKEND_PATH" ./scripts/tablero.sh estado \
|| echo "(no se pudo revisar el tablero; el sitio sí quedó publicado)"
echo
echo "FALTA reiniciar el servicio si cambió backend/app.py (pide sudo, por eso no se hace aquí):"
echo " ssh $REMOTE 'sudo systemctl restart actas-hbox'"