Você pode encontrar o guia passo a passo para fazer deploy aqui.
A Hostman utiliza o seguinte ambiente ao fazer o build de um app Hapi:
O app sempre é buildado a partir da raiz do repositório, então certifique-se de colocar o package.json lá. Se o arquivo estiver em um subdiretório (ex.: landing), será necessário ajustar o comando de build. Por exemplo:
npm run --prefix landing build
A Hostman executa os seguintes comandos durante o build:
apt install -y nodejs --fix-missing
npm install pm2@latest -g
npm install hapi @hapi/hapi
Se o projeto tiver package.json e usar yarn, também executamos:
apt-get remove -y cmdtest yarn
npm install --global yarn
cd /<DIRETÓRIO> && yarn install --check-files
Nos outros casos em que o package.json estiver presente:
cd /<DIRETÓRIO> && npm install
<DIRETÓRIO> é o caminho até o diretório com o package.json. Na maioria dos casos, é a raiz do projeto.
O app é executado usando o PM2 process manager. O comando de start padrão é:
pm2 start --no-daemon app.js
O arquivo de inicialização da aplicação (no exemplo acima, app.js) pode se chamar app.js, server.js, main.js ou index.js. Certifique-se de colocar o arquivo na raiz do projeto.
Se houver problemas no deploy, primeiro confira o log de deploy. Ele ajuda a identificar em qual etapa ocorreu o erro.
Na maioria dos casos, os problemas estão relacionados ao comando de start.
pm2.package.json.O problema é que o comando de build acessa o package.json, e se a diretiva build não estiver especificada, ocorre um erro.
Para corrigir isso, adicione as diretivas necessárias na seção scripts do package.json. Leia mais sobre o uso de scripts aqui.