Files
TotalConnect/doc/project_deployment_guide.md
T

77 lines
3.0 KiB
Markdown
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:
```powershell
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:
```powershell
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:
```powershell
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:**
```bash
pkill -f 'python3 index.py'
```
* **Iniciar el demonio en segundo plano (Recomendado):**
```bash
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):**
```bash
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:**
```bash
ps aux | grep 'python3 index.py' | grep -v grep
```
* **Visualizar los logs de actividad en tiempo real:**
```bash
tail -f /mnt/data2/Software/Bot-WhatsApp/TotalConnect/server.log
```