Я мучительно перехожу с Heroku на Beanstalk. Мой package.json выглядит так:
"scripts": {
"start": "SERVE_BUILT=true NODE_ENV=production node server/upgrade.js; SERVE_BUILT=true NODE_ENV=production node server/www",
"start:dev": "node server/www",
"start:dev:debug": "node --inspect-brk server/www ",
"start:dev:built": "SERVE_BUILT=true node server/www",
"build": "rollup -c rollup.config.js",
"postinstall": "cd server; npm install",
"serve": "node server/upgrade.js; SERVE_BUILT=true NODE_ENV=production node server/www"
},
Elastic Beastalk запустится автоматически npm install
, но для меня этого недостаточно, поскольку node_modules основного каталога включает только клиентскую часть истории.
Мне также нужно бежать npm run build
только один раз за развертывание. Мне ТАКЖЕ нужно бежать cd server; npm install
после каждого развертывания для установки серверных пакетов.
У меня при этом возникают всевозможные проблемы, поскольку Amazon Beanstalk, похоже, игнорирует все, кроме prestart
, start
, poststart
. Я попытался:
prestart
запись - не сработало.elasticbeanstalk
- не сработало, так как путь не задан Есть ли какая-то передовая практика, чтобы сделать это правильно?