如何在 Elastic Beanstalk 实例上运行任意 npm 脚本

Posted

技术标签:

【中文标题】如何在 Elastic Beanstalk 实例上运行任意 npm 脚本【英文标题】:How do I run an arbitrary npm script on an Elastic Beanstalk instance 【发布时间】:2017-03-11 21:00:07 【问题描述】:

我正在尝试调试在 Elastic Beanstalk 上运行的 Node 应用程序的问题。该问题仅在 EB 下出现,我无法在开发机器上重现,即使在本地使用生产配置运行时也是如此。

与其他 EB 平台不同,Node 平台似乎真的不遗余力地隐藏 Node bin/ 路径,因此您无法从 shell 运行 npm 或 node 命令。我意识到您通常不希望在 EB 下以这种方式操作,但我还需要一个更短的调试反馈循环,而不是等待 5 分钟让 EB 部署来测试每个小调整。

将来自here 和here 的信息拼凑在一起,我知道这些部分在哪里,但是运行简单的npm run script 命令最直接的方法是什么?

【问题讨论】:

【参考方案1】:

    要调试弹性 beanstalk 实例上的问题,您只需 SSH 到您的机器(您可以在 WEB AWS 控制台的 EC2>Instances 部分找到详细信息:https://console.aws.amazon.com/ec2)。然后在那台机器上调试你的代码。

    1234563一些特定的事件。您可以在这里找到更多信息:https://***.com/a/26804625/6541812

【讨论】:

感谢您的回复,但这是从文档中显而易见的所有基本 EB 信息。一旦我已经 ssh'ed 到框中,我正在谈论交互式运行命令的问题应该是隐含的。抱歉,如果不清楚。【参考方案2】:

登录后:

    选择您的节点版本:

    export PATH=$PATH:/opt/elasticbeanstalk/node-install/node-v8.11.1-linux-x64/bin/

    运行你的命令:

    cd /var/app/current/ npm ls

【讨论】:

以上是关于如何在 Elastic Beanstalk 实例上运行任意 npm 脚本的主要内容,如果未能解决你的问题,请参考以下文章

如何重新启动 httpd 以在 Elastic Beanstalk 中的 EC2 实例上启用 HTTPS?

Elastic Beanstalk 终止我的 EC2 实例

Elastic Beanstalk 未部署在所有实例上

Elastic Load Balancer 后面的 Elastic beanstalk 实例的 Django ALLOWED_HOSTS 设置

如何更新 Elastic Beanstalk 上的 pg_dump

如何更改 Elastic Beanstalk 的 RDS 实例