Herokuでdeploy時にbuildする環境を構築してみたのでそのメモ。
ターミナルからherokuコマンドからインストール
buildpacks:heroku/nodejs
をインストールすることでdeploy時にnpm install
が実行されるようになる。
heroku login
heroku buildpacks:clear --app APPNANE
heroku buildpacks:heroku/nodejs
※コマンドからではなくdashboardのアプリのsetting内にあるBuildpacksからbuildpackを追加するのも可能。
https://dashboard.heroku.com/apps/APPNAME/settings
デフォルトの設定だとnpm install実行時はdependenciesのmoduleしかインストールされないがdevDependenciesのmoduleもインストールしたい場合は
heroku config:set NPM_CONFIG_PRODUCTION=false --app
を実行して設定を変更しておく
package.jsonのscript記述
npm install後の処理(主にbuild系の処理になるかと思います)をpackage.jsonに書く。
heroku-prebuild
でnpm install
後に実行されるコマンドを指定する。
heroku-postbuild
でheroku-prebuild
後に実行されるコマンドを指定する。
}
"scripts": {
"heroku-prebuild": "echo This runs before Heroku installs your dependencies.",
"heroku-postbuild": "echo This runs afterwards."
}
ref. https://devcenter.heroku.com/articles/nodejs-support#customizing-the-build-process