4

我正在尝试将 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 期间转换我的文件。

我在 .ebextension 内容中的配置文件是:

    container_commands:   
        01_sh_executable:
            command: "chmod +x .platform/hooks/predeploy/01_execute.sh"

我的 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 不是我的强项之一。

任何帮助将不胜感激。

4

1 回答 1

6

此答案适用于使用Windows将文件部署到弹性 beanstalk 的用户。

我花了 6 个宝贵的时间找到了这个信息。可能没有在官方文档中的任何地方记录

根据此链接“ https://forums.aws.amazon.com/thread.jspa?threadID=321653

psss:最重要的是文件用LF行分隔符保存。CRLF 使“找不到文件或目录”

所以我使用 Visual Studio Code 将 CRLF 转换为 LF 文件.platform/hooks/postdeploy

在 VS Code 屏幕的右下方有一个小按钮,上面写着“LF”或“CRLF”:单击该按钮并将其更改为您的偏好。

我希望这对 Windows 用户有所帮助!

于 2021-02-04T14:24:43.020 回答