我有一个Django应用程序,我设法与Heroku部署.我的Procfile
文件只包含:
web: gunicorn omegapp3.wsgi --log-file -
所以当我运行heroku local
它时.
但是当我部署时heroku push master
,控制台检测到一个节点应用程序,因为该应用程序有一个package.json
,然后构建失败.
我想做的是以下内容:
跑去npm install
安装gulp
等
运行gulp build.
你知道我怎么做吗?
根据官方文档,您应该在设置中添加多个构建包,而不是单个多个构建包.
例如,如果您想部署使用Nodejs包(即grunt,gulp等)的应用程序在您的应用程序上进行一些设置,您可以从命令行运行:
heroku buildpacks:add --index 1 heroku/nodejs
该add
命令将Nodejs buildpack添加为额外的 buildpack,而不是替换当前的buildpack.请注意--index 1
.这指定Nodejs buildpack是buildpacks顺序中的第一个.这很重要,因为最终的buildpack是用于实际进程类型的buildpack.您可以heroku buildpacks
从命令行调用以验证buildpack设置.我运行一个Python应用程序,所以我heroku buildpacks
看起来像这样:
=== your_app_name_here Buildpack URLs 1. heroku/nodejs 2. https://github.com/heroku/heroku-buildpack-python
然后,正如rocketer所述,您可以将其放在您的package.json
文件中以便在部署中运行:
"scripts": { "postinstall": "./node_modules/.bin/gulp build" }