[英]deploying create-react-app to AWS Elastic Beanstalk
我正在尝试将create-react-app部署到弹性beantalk。 我的部署不断超时
ERROR: TimeoutError - The EB CLI timed out after 10 minute(s). The operation might still be running. To keep viewing events, run 'eb events -f'. To set timeout duration, use '--timeout MINUTES'.
我尝试了很多不同的方法来使此工作正常。 这是我的config.yml
文件
branch-defaults:
dev:
environment: uu-pilot
group_suffix: null
environment-defaults:
uu-pilot:
branch: null
repository: null
global:
application_name: uu-pilot
branch: null
default_ec2_keyname: null
default_platform: Node.js
default_region: ca-central-1
include_git_submodules: true
instance_profile: null
platform_name: null
platform_version: null
profile: eb-cli
repository: null
sc: git
workspace_type: Application
我nodecommand.config
内.ebextensions
文件夹:
option_settings:
aws:elasticbeanstalk:container:nodejs:
NodeCommand: "npm start"
^^我也尝试过将node命令更改为react-scripts build
和react-scripts start
package.json中的所有依赖关系都依赖于dependencies
而不是devDependencies
,这是我的脚本
"scripts": {
"prestart": "react-scripts build",
"start": "react-scripts start",
"build": "react-scripts build",
"test": "react-scripts test --env=jsdom",
"start:prod": "react-scripts start"
}
我没有收到任何特定的错误消息,并且由于该操作也超时,因此无法查看确切的日志。 我还添加了此功能,以防万一只是超时的事情:
option_settings:
- namespace: aws:elasticbeanstalk:command
option_name: Timeout
value: 1800
最后,我部署了一个基本的节点应用程序,以查看它是否可以正常运行,因此问题出在create-react-app节点服务器为构建文件夹提供服务的方式上。
任何方向表示赞赏。
您正在寻找的是eb deploy ... --timeout <minutes>
,其中<minutes>
必须是您认为应用程序合法部署所花费的时间。
还可以将其视为EBCLI必须等待AWS响应成功/失败消息才能停止轮询并退出的分钟数。 在此之前,EBCLI将定期轮询AWS。 当EBCLI超时时(如您的情况一样),它不会转换为AWS的故障; 您的操作可能仍在处理中,并且如错误消息所示, eb events -f
将显示其进度。
.ebextensions
配置文件中的超时实际上是指AWS(而不是EBCLI)可能花费的最大时间来执行部署,因此更改此设置不会影响您的情况下EBCLI的行为。
我还建议您查看CloudWatch日志流 ,使用Beanstalk可以将所有日志发送到CloudWatch。 即使环境已经消失,您也应该能够访问它们,从而使您可以对可能发生的问题有一些了解。 请注意,CloudWatch日志流是一项付费服务 。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.