node.js elastic beanstalk zip 文件中有什么以及如何让它在部署时运行脚本?

Mon*_*key 3 amazon-web-services amazon-elastic-beanstalk

我的应用程序的 zip 文件是否应该包含 node_modules 文件夹?我应该压缩包含所有应用程序文件的顶级文件夹,还是不应该像 amazon lambda 的说明那样包含顶级根文件夹?

我是否必须像 Heroku 一样将 Web 应用程序端口设置为环境变量?应用程序是通过调用 npm start 并查看 package.json 来启动的,还是必须像 opsworks 中那样有一个名为 server.js 的文件?

如何让它在启动之前运行一个小型迁移脚本 - 我可以将其放入 npm start 中吗?

我可以让它在部署时运行 npm install 而不是复制 node_modules 文件夹吗?

Jam*_*mes 6

快速解答:

  1. 不,zip 文件不需要包含 node_modules 文件夹。npm installEB 将为您运行。
  2. 有多种方法可以在启动时运行脚本。 npm start就是其中之一,您还可以运行自定义命令。
  3. 是的,EB 将运行npm start,请参阅node.js 的配置选项

最好的答案是查看 Amazon 的示例应用程序之一,例如Deploying an Express Application to Elastic Beanstalk中的nodejs-example-express。