Elastic Beanstalk-在Django的每个部署上运行npm install和webpack

时间:2018-09-30 18:52:34

标签: django webpack amazon-elastic-beanstalk

我正在尝试使用Elastic Beanstalk部署我的Django服务器。

我的问题是,部署过程的一部分是从package.json中“ npm install”,然后执行webpack(npx webpack ..... --output main.js

如何在保持简便的部署过程(eb deploy)且不将main.js提交到存储库的情况下做到这一点?

1 个答案:

答案 0 :(得分:2)

要执行此操作,您可能需要ebextensions来配置Elastic Beanstalk环境。文档为here

我最近在ElasticBeanstalk上部署了我的Symfony应用,该应用需要Yarn来执行webpack。

为此,我创建了一个.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键执行会影响   您的应用程序源代码。容器命令在   应用程序和Web服务器已设置,并且该应用程序   版本档案已被提取。

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