Elastic Beanstalk - запуск npm install и webpack при каждом развертывании Django - PullRequest
0 голосов
/ 30 сентября 2018

Я пытаюсь использовать Elastic Beanstalk для развертывания моего сервера Django.

Моя проблема заключается в том, что частью моего процесса развертывания является "установка npm" из моего package.json, а затем выполнение webpack (npx webpack ..... --output main.js)

Как я могу это сделать, поддерживая простой процесс развертывания (eb deploy) и не фиксируя main.js в хранилище?

1 Ответ

0 голосов
/ 17 октября 2018

Для этого вам, вероятно, понадобится ebextensions для настройки среды Elastic Beanstalk.Документация: здесь .

Я недавно развернул свое приложение Symfony на ElasticBeanstalk, которому для выполнения веб-пакета требовалась Yarn.

Для этого я создал файл .config, в котором я записываю команды для установки Yarn, и еще один файл .config для запуска Yarn при каждом развертывании.Все файлы .config находятся в каталоге .ebextensions в корне проекта.

commands:
  01_install_node:
    command: |
      sudo curl --silent --location https://rpm.nodesource.com/setup_8.x | sudo bash -
      sudo yum -y install nodejs 
  02_install_yarn:
    command: |
      sudo wget https://dl.yarnpkg.com/rpm/yarn.repo -O /etc/yum.repos.d/yarn.repo
      sudo yum -y install yarn

Вы можете использовать клавишу container_commands для выполнения команд, которые влияют на исходный код вашего приложения.Контейнерные команды выполняются после того, как приложение и веб-сервер настроены, а архив версии приложения извлечен.

container_commands:
  02_run_yarn:
    command: |
      yarn install
      yarn run encore production
...