Команды для контейнеров AWS EB - сбой collectstatic

В настоящее время я пытаюсь выложить все статические файлы на S3 в проекте django, но развертывание не происходит из-за ERROR ниже :

2021/10/07 14:55:55.675229 [ERROR] An error occurred during execution of command [app-deploy] - [PostBuildEbExtension]. Stop running the command. Error: Container commands build failed. Please refer to /var/log/cfn-init.log for more details. 

2021/10/07 14:55:55.675250 [INFO] Executing cleanup logic
2021/10/07 14:55:55.675339 [INFO] CommandService Response: {"status":"FAILURE","api_version":"1.0","results":[{"status":"FAILURE","msg":"Engine execution has encountered an error.","returncode":1,"events":[{"msg":"Instance deployment successfully generated a 'Procfile'.","timestamp":1633618548,"severity":"INFO"},{"msg":"Instance deployment failed. For details, see 'eb-engine.log'.","timestamp":1633618555,"severity":"ERROR"}]}]}
  • FYI, когда я выполняю 'python manage.py collectstatic' на своем компьютере, команда отлично работает и все статические файлы загружаются на S3. Однако на ElasticBeanstalk команда контейнера не работает. Поэтому развертывание также не происходит.
  • EB окружение : Python 3.8 работает на 64-битном Amazon Linux 2/3.3.6
  • .
  • На всякий случай, поскольку я использую pipenv, который известен проблемой совместимости с AWS EB CLI, я использовал 'pipenv_to_requirement -f' для создания requirements.txt
  • .
  • Среди пакетов, проверенных командой pipenv graph, те, которых нет в requirements.txt, были добавлены вручную.

<><><>>setting.py<><>

<>>
DEFAULT_FILE_STORAGE = "config.custom_storages.UploadStorage"
STATICFILES_STORAGE = "config.custom_storages.StaticStorage"
AWS_ACCESS_KEY_ID = os.environ.get("AWS_ACCESS_KEY_ID")
AWS_SECRET_ACCESS_KEY = os.environ.get("AWS_SECRET_ACCESS_KEY")
AWS_STORAGE_BUCKET_NAME = "mybucket_202110"
AWS_DEFAULT_ACL = "public-read"

AWS_S3_CUSTOM_DOMAIN = f"{AWS_STORAGE_BUCKET_NAME}.s3.ap-northeast-2.amazonaws.com"
STATIC_URL = f"https://{AWS_S3_CUSTOM_DOMAIN}/static/"

<><><><>>django.config<><>

<>>
container_commands:
  01_migrate:
    command: "source /var/app/venv/*/bin/activate && python3 manage.py migrate"
    leader_only: true
  02_compilemessages:
    command: "source /var/app/venv/*/bin/activate && python manage.py compilemessages"
  03_createsu:
    command: "source /var/app/venv/*/bin/activate && python manage.py createsu"
  04_collectstatic:
    command: "source /var/app/venv/*/bin/activate && python manage.py collectstatic --noinput"

config.custom_storages.py

from storages.backends.s3boto3 import S3Boto3Storage

class StaticStorage(S3Boto3Storage):
    location = "static/"
    file_overwrite = False

class UploadStorage(S3Boto3Storage):
    location = "uploads/"

ниже приведены сообщения об ошибках из cfn-init-cmd.log

Я так расстроен этой ошибкой. Я потратил несколько дней, но не получил никакой подсказки. Есть ли здесь кто-нибудь, кто может дать мне мудрость?

Вернуться на верх