AWS Beanstalk Django Web App не обслуживает статические файлы при использовании CLI - работает нормально при использовании AWS Console UI
Я пытаюсь использовать AWS Beanstalk CLI для развертывания веб-приложения Django с помощью командной строки, но у меня не получается правильно обслуживать статические файлы. Вот мой файл конфигурации (.elasticbeanstalk/config.yml):
branch-defaults:
aws-cli:
environment: gather-api-environment
group_suffix: null
environment-defaults:
gather-api-environment:
branch: null
repository: null
global:
application_name: gather-api-application
branch: null
default_ec2_keyname: beanstalk
default_platform: Python 3.8 running on 64bit Amazon Linux 2
default_region: eu-central-1
include_git_submodules: true
instance_profile: null
platform_name: null
platform_version: null
profile: DataArchitect
repository: null
sc: git
workspace_type: Application
option_settings:
aws:elasticbeanstalk:container:python:
WSGIPath: cdm_api.wsgi:application
aws:elasticbeanstalk:environment:proxy:staticfiles:
/static: /static/
packages:
yum:
postgresql-devel: []
Однако, когда я загружаю эту папку в виде zip-файла с помощью консоли AWS UI (кнопка "Upload and deploy"), она работает. Вот мой файл .ebextensions/django.config:
option_settings:
aws:elasticbeanstalk:container:python:
WSGIPath: cdm_api.wsgi:application
aws:elasticbeanstalk:environment:proxy:staticfiles:
/static: /static/
Есть предложения? Дайте мне знать, если необходима дополнительная информация. Заранее спасибо!
Я нашел решение здесь:
В основном, когда вы запускаете eb deploy на git-репозитории, он развертывает только последнюю зафиксированную версию репозитория. Существует частичное обходное решение для развертывания нефиксированных изменений, вам нужно сценировать измененные файлы, а затем запустить eb deploy с флагом --staged.