AWS Elastic Beanstalk Amazon Linux 2-如何设置自定义NodeCommand 更新

问题描述

Migrating your Elastic Beanstalk Linux application to Amazon Linux 2 - AWS Elastic Beanstalk

根据文档,不再支持aws:elasticbeanstalk:container:nodejs命名空间,并且设置NodeCommand的新方法是“在package.json文件中使用procfile或scripts关键字指定开始位置”脚本”。

我从没处理过procfiles,并且“ package.json文件中的scripts关键字”部分不是很清楚,它们是否要按顺序执行脚本,直到出现问题或什么?

有人知道如何在Amazon Linux 2中精确设置自定义NodeCommand吗?

解决方法

您可以在package.json中使用script选项。例如,如果您启动EB提供的示例node.js应用程序,则文件为:

package.json

{
  "name": "Elastic-Beanstalk-Sample-App","version": "0.0.1","private": true,"dependencies": {},"scripts": {
    "start": "node app.js"
  }
}

更新

Docs举例说明如何使用 Procfile

您可以将Procfile添加到源包中,以指定启动应用程序的命令,如以下示例所示。 此功能替换了aws:elasticbeanstalk:container:nodejs命名空间中的旧版NodeCommand选项

web: node index.js

不提供Procfile时,如果提供package.json文件,Elastic Beanstalk会运行npm start。如果两者都不提供,Elastic Beanstalk会按此顺序查找文件app.js或server.js,然后运行它。