问题描述
我正在尝试将Django应用程序部署到AWS ElasticBeanStalk。
我按照标记正确答案中的所有指南进行操作,但仍然出现以下错误:
[INFO] -----------------------Command Output-----------------------
[INFO] find: '/.platform/hooks/': No such file or directory [INFO]
------------------------------------------------------------
使用Windows操作系统时,我是从https://cocalc.com/在线控制台创建.sh文件的。
我还压缩了文件并使用EBS控制台进行部署,以避免在git add / commit期间转换我的文件。
container_commands:
01_sh_executable:
command: "chmod +x .platform/hooks/predeploy/01_execute.sh"
#!/bin/bash
source /var/app/venv/*/bin/activate
cd /var/app/staging
python manage.py makemigrations
python manage.py migrate
python manage.py createsu
python manage.py collectstatic --noinp
选择的平台是在64位Amazon Linux 2上运行的Python 3.7。我还注意到,当我运行eb ssh并键入ls时,它将返回空白。 Linux不是我的强项之一。
我们将不胜感激任何帮助。
解决方法
此答案适用于使用 windows 将文件部署到弹性 beantalk 的用户。
我在花了 6 个小时的宝贵时间后找到了此信息。可能没有在官方文档中的任何地方记录
根据此链接“https://forums.aws.amazon.com/thread.jspa?threadID=321653”
psss:最重要的是文件以 LF 行分隔符保存。 CRLF 使“找不到文件或目录”
所以我使用 Visual Studio Code 将 .platform/hooks/postdeploy
中的文件的 CRLF 转换为 LF
在 VS Code 的屏幕右下角有一个小按钮 显示“LF”或“CRLF”:单击该按钮并将其更改为您的 偏好。
我希望这会对 Windows 用户有所帮助!
,来自docs:
Amazon Linux AMI平台版本(在Amazon Linux 2之前)不支持平台挂钩。
对于 Amazon Linux 2 ,有一种新的挂钩机制,如here所述。