Skip to content

Despliegue en Producción

El despliegue se realiza accediendo al servidor de producción a través de SSH. Dentro del servidor, encontrarás un directorio que contiene los repositorios correspondientes al frontend y al backend. Para desplegar una nueva versión, debes actualizar el código en sus respectivos directorios.

Ingresa al directorio del repositorio que deseas actualizar (frontend o backend) y descarga los últimos cambios desde GitHub:

Terminal window
git pull

Antes de compilar, asegúrate de estar utilizando la versión correcta de Node.js para el entorno que estás actualizando.

Puedes verificar y cambiar la versión de Node.js utilizando nvm (Node Version Manager):

Terminal window
# Verificar la versión actual en uso
node -v
# Listar todas las versiones instaladas en el servidor
nvm ls
# Cambiar a la versión requerida (reemplaza con el número de versión exacto)
nvm use <numero-de-version>

Una vez actualizado el código y verificada la versión de Node.js, ejecuta el siguiente comando para generar los archivos optimizados (deberás hacerlo dentro del directorio de cada repositorio que hayas actualizado):

Terminal window
npm run build

Para ejecutar la aplicación de forma continua en segundo plano y asegurar que el proceso no se detenga al cerrar la terminal, utilizamos el gestor de procesos PM2.

Asegúrate de ejecutar los siguientes comandos desde el directorio raíz del repositorio correspondiente:

Backend (Iniciar primero):

Terminal window
pm2 start npm --name "lcchub-backend" -- start
pm2 logs lcchub-backend # Para monitorear que el servicio inicie sin errores

Frontend:

Terminal window
pm2 start npm --name "lcchub-frontend" -- start
pm2 logs lcchub-frontend # Para monitorear que el servicio inicie sin errores

Para garantizar que PM2 reinicie las aplicaciones automáticamente en caso de que el servidor se apague o falle, ejecuta los siguientes comandos una vez que tus procesos estén corriendo:

Terminal window
pm2 startup
pm2 save

Si necesitas detener los servicios por mantenimiento o para liberar recursos, puedes gestionarlos con estos comandos:

Terminal window
pm2 ls # Muestra una tabla con todos los procesos en ejecución y su estado
pm2 stop lcchub-backend
pm2 stop lcchub-frontend