【发布时间】:2021-05-24 17:47:51
【问题描述】:
我有一个使用弹性 beanstalk CLI 部署的 django 项目。 我添加了一个 postgres 数据库(AWS RDS),连接正在运行。
我的数据库仍然是空的。如何在 eb shell 中运行迁移命令或“python manage.py createsuperuser”?
当我打开eb ssh <env> 并尝试ls 时,没有显示任何内容。使用cd .. 和ls 再次退回一个目录会显示ec2-user、healthd 和webapp。我没有进入这些文件夹的权限。是否可以在 eb ssh 中运行 python 命令?
我也尝试过容器命令,.ebextensions/db-migrate.config:
container_commands:
01_makemigrations:
command: "python manage.py makemigrations"
leader_only: true
02_migrate:
command: "python manage.py migrate --first main initial && python manage.py migrate"
leader_only: true
option_settings:
aws:elasticbeanstalk:application:environment:
DJANGO_SETTINGS_MODULE: <app>.settings
使用eb deploy 再次提交和部署后,我收到此错误:
eb 部署 创建应用程序版本存档“app-xxxx”。 上传:[############################################## ###] 100% 完成...
2021-02-22 12:57:12 INFO 环境更新开始。
2021-02-22 12:58:05 信息正在将新版本部署到实例。
2021-02-22 12:58:21 INFO 实例部署成功 生成了一个“Procfile”。
2021-02-22 12:58:23 错误实例部署失败。为了 详细信息,请参阅“eb-engine.log”。
2021-02-22 12:58:24 错误 [实例:i-xxxx] 命令失败 实例。返回码:1 输出:引擎执行遇到了 错误..
2021-02-22 12:58:24 INFO 命令执行全部完成 实例。摘要:[成功:0,失败:1]。
2021-02-22 12:58:24 错误命令执行不成功 实例 id(s) 'i-xxxx'。中止操作。
2021-02-22 12:58:24 错误无法部署应用程序。
错误:ServiceError - 无法部署应用程序。
为什么命令失败?任何建议表示赞赏。顺便说一句,我用本地 sql db 部署没有问题。
更新:
eb-engine.log 将我引向 cfn-init.log。这是输出:
2021-02-22 16:49:43,624 [错误] 命令 01_makemigrations (python manage.py makemigrations) 失败
2021-02-22 16:49:43,624 [错误] 在构建过程中遇到错误 postbuild_0_django_test:命令 01_makemigrations 失败
Traceback(最近一次调用最后一次):文件 “/usr/lib/python2.7/site-packages/cfnbootstrap/construction.py”,行 542,在运行配置中 CloudFormationCarpenter(config, self._auth_config).build(worklog)
文件 “/usr/lib/python2.7/site-packages/cfnbootstrap/construction.py”,行 260,正在构建中 更改['commands'] = CommandTool().apply(self._config.commands)
文件 “/usr/lib/python2.7/site-packages/cfnbootstrap/command_tool.py”,行 117、申请中 raise ToolError(u"Command %s failed" % name) ToolError: Command 01_makemigrations failed
在路径中我看到 python 2.7 (?) 但实际上 Python 3.7 运行在 64 位 Amazon Linux 2 上。我还尝试使用“python3”执行命令。
【问题讨论】:
-
this 回答你的问题了吗?
-
我完全使用本教程来设置所有内容。但是“添加数据库迁移配置文件”中提到的配置也不起作用。
-
您是否查看了输出中提到的
eb-engine.log?它应该会告诉你更多细节。 -
我会更新我的问题。
-
eb-engine.log 将我推荐给 cfn-init.log。将输出添加到问题中。
标签: python django postgresql amazon-elastic-beanstalk amazon-rds