/.平台/挂钩/';:将Django应用程序部署到AWS Elastic Beanstalk时,没有此类文件或目录
我正在尝试将Django应用程序部署到AWS ElasticBeanStalk 我按照标记正确答案中的所有指南进行操作,但仍然出现以下错误:/.平台/挂钩/';:将Django应用程序部署到AWS Elastic Beanstalk时,没有此类文件或目录,django,amazon-web-services,amazon-elastic-beanstalk,python-3.7,amazon-linux-2,Django,Amazon Web Services,Amazon Elastic Beanstalk,Python 3.7,Amazon Linux 2,我正在尝试将Django应用程序部署到AWS ElasticBeanStalk 我按照标记正确答案中的所有指南进行操作,但仍然出现以下错误: [INFO] -----------------------Command Output----------------------- [INFO] find: '/.platform/hooks/': No such file or directory [INFO] -------------------------------------------
[INFO] -----------------------Command Output-----------------------
[INFO] find: '/.platform/hooks/': No such file or directory [INFO]
------------------------------------------------------------
在使用windows操作系统时,我从联机控制台创建了.sh文件
我还压缩了文件,并使用EBS控制台进行部署,以避免在git添加/提交期间转换文件
.ebextension内容中的我的配置文件是:
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
我的01_execute.sh文件内容是:
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不是我的强项之一
非常感谢您的帮助。来自:
Amazon Linux AMI平台版本(之前的Amazon Linux 2)不支持平台挂钩
对于AmazonLinux2,有一种新的钩子机制,如下所述。此答案适用于使用windows将文件部署到ElasticBeanstalk的用户 我花了6个宝贵的小时才发现这条信息。可能在官方文件中没有记录 根据此链接“” psss:最重要的是,文件是用LF行分隔符保存的。 CRLF使“未找到文件或目录” 因此,我使用Visual Studio代码将
.platform/hooks/postdeploy
在VS代码屏幕的右下角有一个小按钮
上面写着“LF”或“CRLF”:点击该按钮并将其更改为您的
偏好
我希望这将有助于windows上的用户 我正在使用AmazonLinux2。