Distribuire un’app Hapi
Puoi trovare la guida al deploy passo passo qui.
Build dell’applicazione Copia link
Hostman utilizza il seguente ambiente durante la build di un’applicazione Hapi:
- Node.js: 16, 18, 20, or 22
- npm
- yarn
- PM2 (ultima versione)
L’applicazione viene sempre costruita dalla root del repository, quindi assicurati di posizionare lì il file package.json. Se il file si trova in una sottodirectory (ad esempio, landing), devi modificare il comando di build. Per esempio:
npm run --prefix landing buildHostman eseguirà i seguenti comandi durante la build:
apt install -y nodejs --fix-missing
npm install pm2@latest -g
npm install hapi @hapi/hapi
Se il progetto include un file package.json e utilizza yarn, eseguiremo anche:
apt-get remove -y cmdtest yarn
npm install --global yarn
cd /<DIRECTORY> && yarn install --check-filesIn tutti gli altri casi, se è presente un file package.json:
cd /<DIRECTORY> && npm install<DIRECTORY> è il percorso della directory con package.json. Nella maggior parte dei casi, è la root del progetto.
L’applicazione viene eseguita utilizzando il process manager PM2. Il comando di avvio predefinito è:
pm2 start --no-daemon app.jsIl file di inizializzazione dell’applicazione (app.js nell’esempio sopra) può chiamarsi app.js, server.js, main.js o index.js. Assicurati di posizionare il file nella root del progetto.
Risoluzione dei problemi Copia link
Il deploy fallisce Copia link
Se ci sono problemi con il deploy, controlla prima il log di deploy. Potrai determinare in quale punto qualcosa è andato storto.
Spesso i problemi sono legati al comando di avvio. Verifica che tutto nel tuo ambiente di sviluppo funzioni con pm2. Assicurati che tutti i moduli necessari per eseguire l’applicazione siano presenti nel file package.json.
Please add build instructions to your script section in package.json Copia link
Il problema è che il comando yarn build accede al file package.json e, se il valore della direttiva build non è specificato, si verifica un errore.
Per risolvere questo problema, devi aggiungere le direttive necessarie alla sezione scripts del file package.json. Leggi di più sull’uso degli scripts qui.