django - Elastic Beanstalk - 在每次部署 Django 时运行 npm install 和 webpack
问题描述
我正在尝试使用 Elastic Beanstalk 来部署我的 Django 服务器。
我的问题是我的部分部署过程是从我的 package.json 中“npm install”,然后执行 webpack ( npx webpack ..... --output main.js
)
我怎样才能做到这一点,同时保持一个简单的部署过程 ( eb deploy
) 并且不提交main.js
到存储库?
解决方案
为此,您可能需要ebextensions
配置 Elastic Beanstalk 环境。文档在这里。
我最近在 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
推荐阅读
- asp.net-mvc - 无法加载文件或程序集“System.Web.WebPages.Razor,版本=2.0.0.0,文化=中性,PublicKeyToken=31bf3856ad364e35”
- java - 如何使用命令行创建一个 jar,其中一个类依赖于同一项目中的另一个类?(请不要使用构建工具!)
- prometheus-alertmanager - alertmanager:自定义接收器或带有自定义 POST 有效负载的 webhook 接收器?
- php - 如何在php中使用修改后的url访问文件?
- android - 活动恢复时无法检索 countDownTimer left timeMillis 值
- oracle - Obiee 度量仅显示空值
- asp.net-core - 在 HangFire 中运行存储过程
- android - 安装 Xamarin.GooglePlayService.Vision 时出现 Xamarin.Forms 问题
- amazon-s3 - cp 命令与每个文件的密钥
- mysql - 是否可以在具有限制条件的同一列上使用 GROUP BY 和 GROUP_CONCAT