Puedes encontrar la guía de despliegue paso a paso aquí.
Hostman utiliza el siguiente entorno al compilar una aplicación Express:
La aplicación siempre se compila desde la raíz del repositorio, por lo que asegúrate de colocar el archivo package.json allí. Si el archivo está en un subdirectorio (por ejemplo, landing), debes ajustar el comando de compilación. Por ejemplo:
npm run --prefix landing build
Hostman ejecutará los siguientes comandos durante la compilación:
apt install -y nodejs --fix-missing
npm install pm2@latest -g
npm install express
Si el proyecto incluye un archivo package.json y utiliza yarn, también ejecutaremos:
apt-get remove -y cmdtest yarn
npm install --global yarn
cd /<DIRECTORY> && yarn install --check-files
En todos los demás casos, si hay un archivo package.json presente:
cd /<DIRECTORY> && npm install
<DIRECTORY> es la ruta al directorio con package.json. En la mayoría de los casos, es la raíz del proyecto.
La aplicación se ejecuta utilizando el gestor de procesos PM2. El comando de inicio predeterminado es:
pm2 start --no-daemon app.js
El archivo de inicialización de la aplicación (app.js en el ejemplo anterior) puede llamarse app.js, server.js, main.js o index.js.
Si hay problemas con el despliegue, primero revisa el registro de despliegue. Podrás determinar en qué punto algo salió mal.
A menudo los problemas están relacionados con el comando de inicio. Verifica que todo en tu entorno de desarrollo funcione con pm2. Asegúrate de que todos los módulos necesarios para ejecutar la aplicación estén presentes en el archivo package.json.
El problema es que el comando yarn build accede al archivo package.json, y si el valor de la directiva build no está especificado, se produce un error.
Para solucionarlo, debes añadir las directivas necesarias a la sección scripts del archivo package.json. Lee más sobre el uso de scripts aquí.