为啥 eb deploy 在第一次部署时失败?
Posted
技术标签:
【中文标题】为啥 eb deploy 在第一次部署时失败?【英文标题】:why eb deploy failed on first deploy?为什么 eb deploy 在第一次部署时失败? 【发布时间】:2020-11-02 22:35:59 【问题描述】:我创建了 2 个 NodeJs 环境。它工作正常。
后来新建了一个环境,eb deploy env_name
给我以下错误:
Creating application version archive "app-ceb7-200713_223016".
Uploading appname/app-ceb7-xxxxx.zip to S3. This may take a while.
Upload Complete.
2020-07-13 17:00:23 INFO Environment update is starting.
2020-07-13 17:00:44 INFO Deploying new version to instance(s).
2020-07-13 17:00:50 ERROR [Instance: i-066f599db7ee34] Command failed on instance.
An unexpected error has occurred [ErrorCode: 0000000001].
2020-07-13 17:00:50 INFO Command execution completed on all instances. Summary:
[Successful: 0, Failed: 1].
2020-07-13 17:00:50 ERROR Unsuccessful command execution on instance id(s) 'i-
06682f599db76ee34'. Aborting the operation.
2020-07-13 17:00:50 ERROR Failed to deploy application.
ERROR: ServiceError - Failed to deploy application.
为什么会这样?提前致谢
【问题讨论】:
您必须获取 EB 日志才能识别此“不成功的命令”及其产生的错误消息。你试过吗? 在中止部署期间,某些实例可能已经部署了新的应用程序版本。为确保所有实例都运行相同的版本,请重新部署适当的应用程序版本。这个 我的意思是,完整的 EB 日志。您可以从 AWS EB 控制台获取它们。在您的环境左侧应该有带有Logs
选项的菜单。或者,必须登录到 EB 实例并检查 /var/log
文件夹中的日志。
执行命令[app-deploy]-[安装客户指定的node.js版本]时出错。停止运行命令。错误:不支持的节点版本 >=6,请在 [v12.0.0 v12.1.0 v12.10.0 v12.11.0 v12.11.1 v12.12.0 v12.13.0 v12.13.1 v12.14.0 v12.14.1 v12.15.0 中指定任何节点版本v12.16.0 v12.16.1 v12.16.2 v12.16.3 v12.17.0 v12.18.0 v12.18.1 v12.2.0 v12.3.0 v12.3.1 v12.4.0 v12.5.0 v12.6.0 v12.7.0 v12.8.0 v12.8.1 v12。 9.0 v12.9.1] 。我认为这是问题所在。删除 node_modules 并重试
@Marcin 非常感谢。添加了"engines": "node": "12.13.0",
效果很好
【参考方案1】:
基于 cmets。
为解决该问题,我们检查了 EB 日志以识别错误消息:
[app-deploy] - [Install customer specified node.js version]. Stop running the command. Error: unsupported node version >=6, please specify any of node versions in [v12.0.0 v12.1.0 v12.10.0 v12.11.0 v12.11.1 v12.12.0 v12.13.0 v12.13.1 v12.14.0 v12.14.1 v12.15.0 v12.16.0 v12.16.1 v12.16.2 v12.16.3 v12.17.0 v12.18.0 v12.18.1 v12.2.0 v12.3.0 v12.3.1 v12.4.0 v12.5.0 v12.6.0 v12.7.0 v12.8.0 v12.8.1 v12.9.0 v12.9.1]
然后,在package.json
中指定了nodejs的正确版本:
"engines": "node": "12.13.0",
【讨论】:
以上是关于为啥 eb deploy 在第一次部署时失败?的主要内容,如果未能解决你的问题,请参考以下文章
AWS EB Deploy 在部署后显示缺少 Dockerrun.aws.json
在 Octopus Deploy 中,第一次将主要或次要版本部署到环境时如何要求批准?
`eb deploy` 错误“您的 requirements.txt 无效”(Python 应用程序)