Heroku์ ๋ฐฐํฌ ์ค์ด๋ฉฐ package.json
๋ค์ ์คํฌ๋ฆฝํธ๋ฅผ ํฌํจํ์ต๋๋ค.
"scripts": {
"heroku-postbuild": "yarn run build"
"start": "NODE_ENV=production node build/server.js"
}
๋ถํํ๋ PORT
env var๋ ๋น๋ ์ ์๋ ค์ง์ง ์๊ณ ๋์ ๋ฐํ์ ์ Heroku์ ์ํด ํ ๋น๋๋ฉฐ, razzle์ ๋น๋ ์ ํฌํธ๋ฅผ ์์์ผ ํ๋ฏ๋ก ์๋ฒ๋ฅผ ์์ํ๊ธฐ ์ ์ ๋น๋ํด์ผ ํจ์ ์๋ฏธํฉ๋๋ค. ์ด๋ฅผ ์ผ๋์ ๋๊ณ ์คํฌ๋ฆฝํธ๋ฅผ ๋ค์๊ณผ ๊ฐ์ด ๋ณ๊ฒฝํ๋ ค๊ณ ํ์ต๋๋ค.
"scripts": {
"start": "NODE_ENV=production yarn run build && node build/server.js"
}
๋ถํํ๋ ๋๋ฌด ์ค๋ ๊ฑธ๋ฆฌ๊ณ 60์ด Heroku ์๊ฐ ์ด๊ณผ ํ์ ๋ฐ์ธ๋ฉ๋ฉ๋๋ค.
2017-09-06T01:23:13.536789+00:00 app[web.1]: ํด๋ผ์ด์ธํธ ์ปดํ์ผ ์ค...
2017-09-06T01:23:14.395857+00:00 heroku[web.1]: ์ค๋ฅ R10(๋ถํ ์๊ฐ ์ด๊ณผ) -> ์น ํ๋ก์ธ์ค๊ฐ ์คํ ํ 60์ด ์ด๋ด์ $PORT์ ๋ฐ์ธ๋ฉํ์ง ๋ชปํ์ต๋๋ค.
2017-09-06T01:23:14.395963+00:00 heroku[web.1]: SIGKILL๋ก ํ๋ก์ธ์ค ์ค์ง
2017-09-06T01:23:14.499913+00:00 heroku[web.1]: ํ๋ก์ธ์ค๊ฐ ์ํ 137๋ก ์ข ๋ฃ๋จ
2017-09-06T01:23:14.509625+00:00 heroku[web.1]: ์ํ๊ฐ ์์์์ ์ถฉ๋๋ก ๋ณ๊ฒฝ๋จ
๋น๋ ์ ํฌํธ๋ฅผ ์๊ตฌํ์ง ์๋ ๋ฐฉ๋ฒ์ด ์์ต๋๊น? ๊ทธ๋ ๋ค๋ฉด ์ ํ์ํฉ๋๊น?
razzle-heroku๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค. :) ๊ธฐ๋ณธ razzle ๊ตฌ์ฑ์ ํ์ฅํ์ฌ heroku์์ ์๋ํ๋๋ก ํฉ๋๋ค.
์ ๊ทธ๊ฑด ๋ชฐ๋๋ค์ ์ง์ ํด์ฃผ์
์ ๊ฐ์ฌํฉ๋๋ค! ์ฌ์ฉ์ ์ ์ modify
๊ธฐ๋ฅ์ด ์๋ razzle.config.js
๊ฐ ์ด๋ฏธ ์๋ ๊ฒฝ์ฐ razzle-heroku๋ฅผ ์ฌ์ฉํ๋ฉด์ ๊ณ์ ์ฌ์ฉํ ์ ์๋ ๋ฐฉ๋ฒ์ด ์์ต๋๊น?
// razzle.config.js
const razzleHeroku = require("razzle-heroku")
module.exports = {
modify: (config, {target, dev}, webpack) => {
config = razzleHeroku(config, {target, dev}, webpack)
// do something to config
return config
},
}
์๋ง ์ด๋ฐ ๊ฒ?
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
์๋ง ์ด๋ฐ ๊ฒ?