Heroku ํธ์คํ ํ๋ ๋ฒ Cloud Application Platform
Github ๊ฐ์ ์ฌ์ดํธ๊ฐ ์๋ค. ํค๋ก์ฟ ๋ฅผ ์์๋๊ฐ? ํด๋ผ์ฐ๋ ํ๋ซํผ ์๋น์ค์ด๋ค. ๋๋ ์น ํธ์คํ ๋ง ์ฌ์ฉํด์ ๊ทธ๋ฐ์ง ์ด ํ๋ซํผ์ ๋ํด์ ์ ๋ชจ๋ฅธ๋ค. ๊ฐ๋จํ ๋ฌด๋ฃ ์นํธ์คํ ์ด ๊ฐ๋ฅํ๋ค.
์ค๋๋ง์ Heroku๋ฅผ ์ฌ์ฉํ๊ฒ ๋์๋๋ฐ, ๋ฐ๋ก ์นํธ์คํ ์ ๋ก๋ ํ์ผ ํฌ๊ธฐ ๋๋ฌธ์ด์๋ค.
Github ํธ์คํ ์ ์ฌ์ฉํ๋ ค ํ๋๋ฐ, ์ ๋ก๋ํ๋ ค๋ ํ์ผ ํ๋์ ํฌ๊ธฐ๊ฐ ๊ฑฐ์ 100MB์ ๊ฐ๊น์ ๋ค. ๋๋ฌธ์ Github์ ์ฌ๋ผ๊ฐ์ง ์์์, ํน์ ํ๊ณค Heroku์ ์ฌ๋ ค๋ณด์๋๋ ๋์๋ค.
gitHub ์ ์ฅ์ ์ ํ ์ฉ๋(Repository๋น)์ 1GB, ํ์ผ ๊ฐ๋น์ 100MB๋ก ์๊ณ ์๋ค. heroku๋ ์์๋๋ก 500MB, 100MB๋ผ๊ณ ํ๋๋ฐ, ์ Github์๋ ์ ์ฌ๋ผ๊ฐ๊ณ Heroku์๋ ์ฌ๋ผ๊ฐ๊น?(..)
์๋ฌดํผ ๋๋ก์ฌ Heroku์ ์ ์ฌ๋ผ๊ฐ ํธ์คํ ๋๋ ๋คํ์ด๋ค.
1. Heroku ์ค์น
์ฐ์ heroku ๊น ์ปค๋งจ๋๋ฅผ ๋ค์ด๋ฐ์์ค๋ค. CLI๋ Command line interface์ ์ฝ์๋ผ๊ณ ํ๋ค!
devcenter.heroku.com/articles/heroku-cli
The Heroku CLI | Heroku Dev Center
The Heroku CLI Last updated 28 October 2020 The Heroku Command Line Interface (CLI) makes it easy to create and manage your Heroku apps directly from the terminal. It’s an essential part of using Heroku. Download and install The Heroku CLI requires Git,
devcenter.heroku.com
์ฝ์์ฐฝ์์ ํ์ธํ ์ ์๋ค.
2. ์ฌ์ฉํ ์ธ์ด ๋ค์ด๋ก๋
ํค๋ก์ฟ ๊ฐ๋ฐ์ผํฐ ํ์ด์ง์ ๋ค์ด๊ฐ๋ฉด ํค๋ก์ฟ ์๋น์ค์์ ์ฌ์ฉํ ์ ์๋ ์ธ์ด๋ค์ ๋ณด์ฌ์ค๋ค.
์ฌ๋ฆด ํ์ผ์ HTML5๊ฐ์ ๊ธฐ๋ณธ ์น์ธ์ด ์ธ์ jsp๋ python๊ณผ ๊ฐ์ ๋ค๋ฅธ ์ธ์ด๊ฐ ์ฌ์ฉ๋๋ค๋ฉด ๋ฐ๋ก ํ๋ฌ๊ทธ์ธ ์ค์น๋ฅผ ํด์ฃผ์ด์ผ ํ๋ค.
> heroku plugins:install [ํ๋ฌ๊ทธ์ธ ๋๋ ์ธ์ด]
ํ์ด์ฌ์ ๋ด๊ฐ ์๋ชป ๋ค์ด๋ฐ์๊ฒ์ธ์ง.. ๊ฒฐ๊ตญ uninstall..
2. ํธ์คํ ํ ์ ์ฅ์(์ฑ) ์์ฑ
Heroku
dashboard.heroku.com
ํค๋ก์ฟ ๋์๋ณด๋์์ ๋ก๊ทธ์ธ(๋๋ ํ์๊ฐ์ )์ ํด์ค ํ, ์ ์ฑ์ ๋ง๋ค์.
<์ ์ฅ์๋ช ๊ท์น>
- ์ ์ผํ ์ด๋ฆ์ด์ด์ผํ๊ณ (์ค๋ณตํ์ฉX)
- ๋๋ฌธ์์ '-' ์ธ์ ํน์๊ธฐํธ, ๋์ด์ฐ๊ธฐ ์ฌ์ฉ์ด ๋ถ๊ฐ
- ์ฒซ๊ธ์์ ์ซ์ ์ฌ์ฉ ๋ถ๊ฐ
Choose a region์ ์ฑ์ด ๋ณด๊ด๋๋ ๋๋ผ์ธ๋ฏ ํ๊ณ , pipeline์ ๋ญ์ง ๋ชจ๋ฅด๋ ๋์ด๊ฐ๋ค.
ํค๋ก์ฟ ์ฑ์ ๊นํ๋ธ์๋ ์ฐ๊ฒฐํ ์ ์๋ ๋ฏํ๋ค!
์ฐ๋ฆฐ ํค๋ก์ฟ ๊น์ ์ฌ์ฉํ ๊ฒ์ด๋ค.
๋ค์ด๋ฐ์๋ ํค๋ก์ฟ ์ปค๋งจ๋์ ๊ฐ์, ๋ค์ ๋ช ๋ น์ ์ ๋ ฅํด์ค๋ค.
> heroku login
์๋๊ณผ ๊ฐ์ ๋ฌธ๊ตฌ๊ฐ ๋ง์ง๋ง์ ๋ด์ ๋ 'q'์ 'exit'์ ์ ์ธํ๊ณ ์๋ฌด ํค๋ฅผ ๋๋ฌ์ค๋ค.
heroku: Press any key to open up the browser to login or q to exit:
๊ทธ๋ผ ๋ก๊ทธ์ธ ํ์ด์ง๊ฐ ๋ฌ๋ค.
๋ก๊ทธ์ธ ๋ฒํผ์ ํด๋ฆญํ๋ค. ์ด๋ฏธ ๋ก๊ทธ์ธ ๋ ํ์ด์ง๊ฐ ๋ธ๋ผ์ฐ์ ์ ์กด์ฌํ๋ฉด ๊ณง๋ฐ๋ก ๋ก๊ทธ์ธ ์ฒ๋ฆฌ๊ฐ ๋๋ค.
์ปค๋งจ๋์ ์ํ๊ฐ Done์ผ๋ก ๋ฐ๋์๋ค.
3. ์ ๋ก๋ํ WAR ํ์ผ ์์ฑ
WAR(Web Application Archive)๋, ์ฑ ์์ค ๋ฐฐํฌ์ ํธ๋ฆฌ๋ฅผ ์ํ ์์ถ ๋ฐฉ์์ด๋ผ๊ณ ํ๋ค. ์น ์ดํ๋ฆฌ์ผ์ด์ ์ ์ฅ์์ด์ ์น ์ดํ๋ฆฌ์ผ์ด์ ์ ์์ถํด ์ ์ฅํด ๋์ ํ์ผ์ด๋ค.
๋ง๋๋ ๋ฐฉ๋ฒ์ด ์กฐ๊ธ ์ดํด๊ฐ ๊ฐ์ง ์์ ์ ์๋ค.
๋จผ์ ์ฝ์์์ WAR๋ก ๋ง๋ค ํด๋๋ก ์ด๋ํ ํ ์๋ ๋ช ๋ น์ ์ ๋ ฅํ๋ค.
> jar cvf [WAR๋ก ๋ง๋ค ํด๋๋ช
(=ํ์ฌ ํด๋๋ช
)].war *
์ฒ๋ฆฌ๊ฐ ์๋ฃ๋ ํ ํด๋น ํด๋์ ๊ฐ๋ณด๋ war ํ์ผ์ด ์ ์์ฑ๋์๋ค. ์ด์ ์ด warํ์ผ์ ๋ค๋ฅธ ๊ฒฝ๋ก๋ก ์ฎ๊ฒจ๋ ์๊ด์๋ค.
๊ฐ๊ธ์ ๋ค๋ฅธ ํด๋๋ก ์ฎ๊ธธ ๊ฒ์ ์ถ์ฒ.
4. Heroku app์ WAR ์ ๋ก๋(์ ๋ฐ์ดํธ)
์ด์ ์ฑ์ WARํ์ผ์ ์ฌ๋ฆฐ๋ค.
> heroku war:deploy [warํ์ผ์ ๊ฒฝ๋ก/warํ์ผ๋ช
.war] --app [์ฑ์ด๋ฆ]
์กฐ๊ธ ์ค๋ ๊ฑธ๋ฆด ์๋ ์๋ค.
์ฑ์ด ์ฌ๋ผ๊ฐ ํ ํค๋ก์ฟ ์ปค๋งจ๋์์ ์ฑ์ ์คํํด๋ณผ ์ ์๋ค.
> heroku open --app [์ฑ์ด๋ฆ]
ํธ์คํ ๊ฒฝ๋ก๋ [์ฑ์ด๋ฆ].herokuapp.com ์ด๋ค.
๋ฌผ๋ก index ํ์ผ์ด ์์ ๊ฒฝ์ฐ์ด๋ค.
[์ฑ์ด๋ฆ].herokuapp.com/ํ์ผ๋ช ์กฐํ๋ ๊ฐ๋ฅ
devcenter.heroku.com/articles/war-deployment๊ณต์๋ฌธ์