Files
TotalConnect/doc/project_deployment_guide.md
T

3.0 KiB
Executable File

Guía de Ubicación, Actualización y Despliegue del Proyecto

Esta guía documenta la estructura de directorios del proyecto, el flujo de sincronización y los comandos necesarios para iniciar, reiniciar y monitorear el servicio en la máquina virtual Linux por SSH.


1. Ubicaciones del Código

El proyecto reside en tres entornos clave:

  1. Copia de Desarrollo (Windows Local): E:\Software\TotalConnect\ Uso: Compilación del ejecutable standalone totalconnect.exe para Windows usando PyInstaller.
  2. Copia Compartida (Samba Share): Z:\data2\Software\Bot-WhatsApp\TotalConnect\ Uso: Compartido en la red que la VM Linux monta de forma nativa. Cualquier cambio guardado en Z:\ se refleja de forma instantánea en la VM.
  3. Entorno de Producción (Linux VM - 192.168.100.50): /mnt/data2/Software/Bot-WhatsApp/TotalConnect/ Uso: Directorio donde se ejecuta el demonio de polling de forma continua.

2. Flujo de Actualización de Cambios

Cada vez que se modifica el código (ej: en index.py), se debe seguir el siguiente orden para sincronizar los entornos:

  1. Modificar el archivo principal en la red compartida: Z:\data2\Software\Bot-WhatsApp\TotalConnect\index.py
  2. Copiar los cambios a la ruta de desarrollo local en Windows:
    Copy-Item "Z:\data2\Software\Bot-WhatsApp\TotalConnect\index.py" "E:\Software\TotalConnect\index.py" -Force
    
  3. Si el cambio requiere actualizar el ejecutable de Windows totalconnect.exe, ejecutar en Windows:
    cd E:\Software\TotalConnect\
    python -m PyInstaller --clean totalconnect.spec
    Copy-Item "E:\Software\TotalConnect\dist\totalconnect.exe" "E:\Software\TotalConnect\totalconnect.exe" -Force
    
  4. Reiniciar el demonio en la VM (ver comandos en sección 3) para que lea las modificaciones de index.py.

3. Ejecución del Servicio en la VM por SSH

El demonio de polling corre en la máquina virtual Linux en segundo plano. Para interactuar con él, conéctate por SSH:

ssh -i "C:\Users\JAGU\.gemini\antigravity-ide\brain\d979a063-dd63-47a8-8ec1-785abc40b475\scratch\id_ed25519_win" -o StrictHostKeyChecking=no root@192.168.100.50

Comandos de Control en la VM:

  • Detener el demonio activo:
    pkill -f 'python3 index.py'
    
  • Iniciar el demonio en segundo plano (Recomendado):
    cd /mnt/data2/Software/Bot-WhatsApp/TotalConnect
    nohup ./venv/bin/python3 index.py >> server.log 2>&1 &
    
  • Reiniciar el demonio (Detener e Iniciar en una línea):
    pkill -f 'python3 index.py'; sleep 2; cd /mnt/data2/Software/Bot-WhatsApp/TotalConnect && nohup ./venv/bin/python3 index.py >> server.log 2>&1 &
    

Comandos de Monitoreo:

  • Comprobar si el proceso de Python está activo:
    ps aux | grep 'python3 index.py' | grep -v grep
    
  • Visualizar los logs de actividad en tiempo real:
    tail -f /mnt/data2/Software/Bot-WhatsApp/TotalConnect/server.log