通过 AWS Elastic Beanstalk 部署应用程序时出错
Posted
技术标签:
【中文标题】通过 AWS Elastic Beanstalk 部署应用程序时出错【英文标题】:Error During Deployment of an Application via AWS Elastic Beanstalk 【发布时间】:2021-02-11 02:19:24 【问题描述】:我在为我的应用程序部署最新代码时遇到异常错误。
这是一个旧应用程序,在出现此错误之前我已经部署了许多版本。
即使重新部署最后一个工作版本也会失败并出现同样的错误。
当前版本对一些 twig 文件进行了更改,并将 composer.json 和 composer.lock 文件更新为最新的 DB 版本。
php 7.1 Symfony 3.3 aws ec2、s3、rds
这是 EB UI 错误:
应用程序部署在 2020-10-28T16:34:04Z 失败,退出状态为 1 并且错误:.ebextensions/composer.config 中的 EBExtension 失败。 “utf8”编解码器无法解码位置 317 中的字节 0x80:无效的起始字节。
以下是日志错误:
EB 活动日志 使用 DocumentRoot 的配置值:/web [2020-10-28T19:06:03.996Z] 信息 [3029] - [应用程序部署 app-4419-201024_163347@118/StartupStage0/AppDeployPreHook/10_composer_install.sh]:开始活动... [2020-10-28T19:06:04.606Z] INFO [3029] - [应用程序部署 app-4419-201024_163347@118/StartupStage0/AppDeployPreHook/10_composer_install.sh]:活动执行失败,因为:+。 /opt/elasticbeanstalk/support/envvars
EB 命令日志 [2020-10-28T12:30:06.372Z] 信息 [3547] - [应用程序部署 app-ed2c-201028_081818@111/StartupStage0/EbExtensionPreBuild/Infra-EmbeddedPreBuild/prebuild_1_site_prod]:已完成活动。 [2020-10-28T12:30:06.378Z] 信息 [3547] - [应用程序部署 app-ed2c-201028_081818@111/StartupStage0/EbExtensionPreBuild/Infra-EmbeddedPreBuild/prebuild_2_site_prod]:开始活动... [2020-10-28T12:30:06.379Z] 信息 [3547] - [应用程序部署 app-ed2c-201028_081818@111/StartupStage0/EbExtensionPreBuild/Infra-EmbeddedPreBuild/prebuild_2_site_prod/Command 01updateComposer]:开始活动... [2020-10-28T12:30:06.768Z] 信息 [3547] - [应用程序部署 app-ed2c-201028_081818@111/StartupStage0/EbExtensionPreBuild/Infra-EmbeddedPreBuild/prebuild_2_site_prod/Command 01updateComposer]:活动执行失败,因为:'utf8 ' 编解码器无法解码位置 317 中的字节 0x80:无效的起始字节 (ElasticBeanstalk::ExternalInvocationError)
[2020-10-28T12:30:06.768Z] 信息 [3547] - [应用程序部署 app-ed2c-201028_081818@111/StartupStage0/EbExtensionPreBuild/Infra-EmbeddedPreBuild/prebuild_2_site_prod/Command 01updateComposer]:活动失败。 [2020-10-28T12:30:06.768Z] 信息 [3547] - [应用程序部署 app-ed2c-201028_081818@111/StartupStage0/EbExtensionPreBuild/Infra-EmbeddedPreBuild/prebuild_2_site_prod]:活动失败。 [2020-10-28T12:30:06.768Z] 信息 [3547] - [应用程序部署 app-ed2c-201028_081818@111/StartupStage0/EbExtensionPreBuild/Infra-EmbeddedPreBuild]:活动失败。 [2020-10-28T12:30:06.797Z] 信息 [3547] - [应用程序部署 app-ed2c-201028_081818@111/StartupStage0/EbExtensionPreBuild]:活动失败。 [2020-10-28T12:30:06.797Z] 信息 [3547] - [应用程序部署 app-ed2c-201028_081818@111/StartupStage0]:活动失败。 [2020-10-28T12:30:06.797Z] 信息 [3547] - [应用程序部署 app-ed2c-201028_081818@111]:已完成活动。结果: 应用部署 - 命令 CMD-SelfStartup 失败
请帮忙。
【问题讨论】:
【参考方案1】:此问题是由 AWS 使用 Composer 2(最新版本)引起的。
我在我们的部署配置中添加了“self-update 1.10.10”,以使 AWS 使用较旧的 Composer 版本(见下文)。
命令: 01更新作曲家: 命令:export COMPOSER_HOME=/root && /usr/bin/composer.phar 自更新1.10.10
【讨论】:
以上是关于通过 AWS Elastic Beanstalk 部署应用程序时出错的主要内容,如果未能解决你的问题,请参考以下文章
HTTPS Elastic Beanstalk (AWS) 到 Android
通过 AWS Elastic Beanstalk 部署应用程序时出错
通过 AWS Elastic Beanstalk 部署 Django 应用程序会破坏 CSS 路径
通过 AWS Elastic Beanstalk 成功部署 Django,但出现 500 错误