Команды для контейнеров 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
Я так расстроен этой ошибкой. Я потратил несколько дней, но не получил никакой подсказки. Есть ли здесь кто-нибудь, кто может дать мне мудрость?