๐Ÿฆ Python Online Store ๋งŒ๋“ค๊ธฐ 25ํŽธ - ๋ฐฐํฌ(heroku)

yohan-record[web]ยท2022๋…„ 9์›” 21์ผ
0

python onlinestore ๊ฐœ๋ฐœ์ผ์ง€

๋ชฉ๋ก ๋ณด๊ธฐ
25/25
post-thumbnail

๐ŸŽˆ Front End Developer ์˜ Back End ๋„์ „๊ธฐ ! ๐ŸŽˆ

์ด ๊ธ€์€ PROJECT LION : ํ˜ธ์ฝ”์น˜ ๊ฐ•์‚ฌ๋‹˜์˜ ๊ฐ•์˜๋ฅผ ๋“ค์œผ๋ฉฐ ์ฐธ๊ณ ํ•œ ๊ธ€์ž…๋‹ˆ๋‹ค.

์ž‘์—… ์ค‘, ๊ฐœ๋ฐœ๊ณผ์ • ์ •๋ฆฌ ๋ฐ issue๊ฐ€ ๋˜์—ˆ๋˜ ๋ถ€๋ถ„๋“ค์„ ๊ณต์œ  ๋ฐ ๊ธฐ๋กํ•˜๊ณ ์ž ์ž‘์„ฑํ•˜๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

1. ๋ฐฐํฌ

โœ heroku cloud service ๋ฅผ ์ด์šฉํ•˜์—ฌ ๋กœ์ปฌํ™˜๊ฒฝ์—์„œ๋งŒ ํ™•์ธํ•˜๋˜ ์‚ฌ์ดํŠธ๋ฅผ url ์ƒ์„ฑ ํ›„ ๋ฐฐํฌ์‹œ์ผœ ์–ด๋Š ํ™˜๊ฒฝ์—์„œ๋“  ํ™•์ธํ•  ์ˆ˜ ์žˆ๊ฒŒ ์„ธํŒ…ํ•˜๋ ค๊ณ  ํ•œ๋‹ค.

heroku ๋Š” ์„œ๋ฒ„๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๋Š”๊ฒƒ ์ฒ˜๋Ÿผ ์›น์˜ ๊ณต๊ฐ„์„ ๋Œ€ํ–‰ํ•ด์ฃผ๋Š” cloud platform ์ด๋ผ๊ณ  ์ƒ๊ฐํ•˜๋ฉด ๋  ๊ฒƒ ๊ฐ™๋‹ค. ์ž‘์—… ๋ฐฉ์‹์€ git ์„ ํ†ตํ•ด push / pull ์„ ํ•˜๋ฉฐ, ์†Œ์Šค๋ฅผ ์„œ๋ฒ„์— ๋ฐ˜์˜ํ•  ์ˆ˜ ๊ฐ€ ์žˆ๋‹ค.

ํ•ด๋‹น ๊ณผ์ •์„ ์ง„ํ–‰ํ•˜๋ฉฐ heroku ํšŒ์›๊ฐ€์ž… ๋“ฑ ๊ธฐ์ดˆ ์ž‘์—…๋“ค์€ ๋”ฐ๋กœ ํฌ์ŠคํŒ… ํ•˜์ง€ ์•Š๊ณ , ์‹ค์งˆ์ ์ธ terminal ์ฐฝ์—์„œ url ์ƒ์„ฑ ๋ฐ git ๋ฐฐํฌ ๊ณผ์ •๋งŒ ๋‚จ๊ฒจ๋ณด๊ฒ ๋‹ค.

  1. heroku cli download
    = mac version์—์„œ๋Š” terminal ์ฐฝ์—์„œ direct๋กœ ์ž…๋ ฅํ•˜์—ฌ download๋ฅผ ์ง„ํ–‰ํ•˜๋ฉด ๋˜๊ณ , windows ํ™˜๊ฒฝ์—์„œ๋Š” installer๋กœ download๊ฐ€ ๊ฐ€๋Šฅํ•˜๋‹ค.

  1. Procfile ์ƒ์„ฑ
    = ์ผ์ข…์˜ ์„ค์ • .ini file์ด๋‹ค. ๋ฐฐํฌ ์‹œ ํ•„์š”ํ•œ ์ฝ”๋“œ์ธ ๊ฒƒ ๊ฐ™๋‹ค.

  1. heroku login (์ดํ•˜ ๋‹จ๊ณ„๋Š” terminal ์ด์šฉ)
    = ๋ฐฐํฌ๋ฅผ ์ง„ํ–‰ํ•˜๊ธฐ์— ์•ž์„œ์„œ, heroku login ๋ช…๋ น์–ด๋ฅผ ์ž…๋ ฅ ์‹œ ๋กœ๊ทธ์ธ page๋กœ ์ด๋™ํ•˜๊ณ , ๋ณธ์ธ์˜ ๊ณ„์ •์„ ์ž…๋ ฅ ํ›„ ๋กœ๊ทธ์ธ์„ ์ง„ํ–‰ํ•˜๋ฉด ๋‹ค์Œ ๋‹จ๊ณ„๋กœ ๋„˜์–ด๊ฐ„๋‹ค.

  1. app ์ƒ์„ฑ
    = ์ ‘์†ํ•  ์ฃผ์†Œ๋ฅผ ์ œ๊ณตํ•ด์ฃผ๋Š” app์„ ์ƒ์„ฑํ•œ๋‹ค. heroku create ๋ช…๋ น์–ด ๋’ค์—๋Š” ์ƒ์„ฑํ•˜๊ณ ์ž ํ•˜๋Š” name ์„ ๋Œ€์ž…์‹œํ‚ค๋ฉด, https ๋กœ ์‹œ์ž‘ํ•˜๋Š” url์ด ์ƒ์„ฑ๋œ๋‹ค.
    ๊ทธ ํ›„, ์ฃผ์†Œ๊ฐ’ ๋Œ€์ž… ์‹œ ์ ‘์†์€ ๋˜๋‚˜, ๋ณ„๋‹ค๋ฅธ ๋‚ด์šฉ์ด ์—†์„ ๊ฒƒ์ด๋‹ค. ๋ณด์—ฌ์ฃผ๊ณ ์ž ํ•˜๋Š” ๋‚ด์šฉ์„ ๋ฐฐํฌ ์‹œ์ผœ์•ผ ๋ณด์ด๊ฒŒ ๋œ๋‹ค.

  1. local -> heroku๋กœ file ์ „๋‹ฌ (add)
    = ์„œ๋ฒ„์— ์˜ฌ๋ฆด file ๋ชฉ๋ก๋“ค์„ add ์‹œํ‚จ๋‹ค.

  1. commit
    = ๋ฐฐํฌ ์‹œํ‚ฌ file๋“ค์„ add ์‹œํ‚จ ํ›„, ์„œ๋ฒ„์— commit ์‹œ์ผœ์ค€๋‹ค. (commit ๋’ค์˜ ๋‚ด์šฉ๋“ค์€ commit message๋ฅผ ๋œปํ•œ๋‹ค.)

  1. push
    = commit ๋œ file๋“ค์„ push ์‹œ์ผœ์„œ ์‹ค์งˆ์ ์œผ๋กœ ์„œ๋ฒ„์— ๋ฐ˜์˜์‹œํ‚จ๋‹ค.
    ํ•˜์ง€๋งŒ, ํ•˜๋‹จ์— repository error ๊ฐ€ ๋ณด์ธ๋‹ค. ์›์ธ์€, remote ์ฃผ์†Œ๊ฐ€ ๋ณ€๊ฒฝ๋˜์ง€ ์•Š์•„ ๋ฐœ์ƒํ•œ error ์˜€๋‹ค.

์ด๊ฐ™์€ ๊ฒฝ์šฐ์—๋Š” ์ƒ์„ฑ๋œ app name์„ ์—ฐ๊ฒฐ์‹œ์ผœ์ฃผ๋ฉด ๋œ๋‹ค. ๐Ÿ˜Ž = ์ฆ‰, heroku git remote -a๋ฅผ ๋‚˜์˜ app์œผ๋กœ ๋ณ€๊ฒฝ์‹œ์ผœ ๋‹ฌ๋ผ๋Š” ์˜๋ฏธ์ด๋‹ค. ์ •์ƒ์ ์œผ๋กœ remote ๋œ ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.


= ์ •์ƒ์ ์œผ๋กœ ๋ณ€๊ฒฝ ํ›„, push๋ฅผ ์ง„ํ–‰ํ•  ์‹œ,


= done ! ๋ฐฐํฌ๊ฐ€ ์™„๋ฃŒ๋˜๊ณ  flask ์‹คํ–‰๊นŒ์ง€ ์ง„ํ–‰๋œ๋‹ค.


  1. ๋ฐฐํฌ ํ™•์ธ
    = ๋กœ์ปฌ์—์„œ ์ž‘์—…ํ•œ ํ™”๋ฉด์„ ์ƒ์„ฑํ•œ app url์„ ์ž…๋ ฅ ํ›„ ํŽ˜์ด์ง€ ํ™•์ธ ์‹œ, ์ •์ƒ์ ์œผ๋กœ ๋ฐฐํฌ ๋œ ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค!

  1. heroku 30 minute
    ํ˜„์žฌ ๊ฐ„๋‹จํ•œ onlinestore ํ…Œ์ŠคํŠธ๋ฅผ ์œ„ํ•ด, heroku ๋ผ๋Š” cloud platform ์„ ์ด์šฉํ•˜์—ฌ ๋ฐฐํฌํ•˜์˜€๋Š”๋ฐ, heroku์˜ ํŠน์ง•์ด 30๋ถ„ ๋‚ด์— ์ ‘์†ํ•˜์ง€ ์•Š์„ ์‹œ ์ž ์ž๊ธฐ ๋ชจ๋“œ๋กœ ๋ณ€ํ™˜๋œ๋‹ค๊ณ  ํ•˜์˜€๋‹ค.

    ์‚ฌ์‹ค, ํ…Œ์ŠคํŠธ๊ฐ€ ์•„๋‹Œ ์‹ค์ œ๋กœ onlinestore๋ฅผ ์šด์˜ํ•  ๋•Œ๋Š” ์ •์‹์ ์œผ๋กœ ๊ฐ’์„ ์ง€๋ถˆํ•˜๊ณ  ์„œ๋ฒ„๋ฅผ ๊ตฌ์ถ•ํ•˜์—ฌ ์‚ฌ์šฉ ํ•  ๊ฒƒ์ธ๋ฐ, ํ…Œ์ŠคํŠธ์šฉ์œผ๋กœ ํ™•์ธํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” heroku cloud ๊ฐ€ ํ•„์š”ํ–ˆ๋‹ค.

    ๊ทธ๋ž˜์„œ ์•Œ์•„๋ณธ ๊ฒฐ๊ณผ, ์ž์‹ ์˜ ๋„๋ฉ”์ธ์„ setInterval์„ ํ™œ์šฉํ•˜์—ฌ ํ˜ธ์ถœ์‹œ์ผœ์ฃผ๋Š” ๋ฐฉ๋ฒ•๋„ ์žˆ์—ˆ๊ณ , url๋งŒ ์ž…๋ ฅํ•˜๋ฉด, ์Šค์Šค๋กœ ํ˜ธ์ถœ์„ ํ•ด์ฃผ๋Š” ์†”๋ฃจ์…˜์„ ๊ฐ€์ง„ ํ™ˆํŽ˜์ด์ง€๋„ ์กด์žฌํ•˜์˜€๋‹ค.

    ์ผ๋‹จ ๋“ฑ๋ก์„ ์‹œ์ผœ ๋‘” ์ƒํƒœ๊ณ , ์ด๋ ‡๊ฒŒ ๊ฒฐ๊ณผ๋ฌผ์ด ์™„๋ฃŒ๋˜์—ˆ๋‹ค.

์•ž์œผ๋กœ์˜ ๊ณ„ํš์€ ์ˆ˜๋งŽ์€ ๊ฒƒ๋“ค์ด ๊ตฌ์ƒ๋˜์–ด ์žˆ๋Š”๋ฐ, ์‚ฌ์—… ์•„์ดํ…œ์œผ๋กœ ์ ์ฐจ ํ™•์žฅ์‹œํ‚ฌ ํ•ญ๋ชฉ๋“ค์ด๋ผ ์ถ”ํ›„์— ๋ฒ„์ „์—…์ด ๋˜๊ณ  ์ƒ์šฉํ™” ๋  ๋•Œ ํฌ์ŠคํŒ…ํ•˜๊ฒ ๋‹ค.

๊ตฌ์ƒํ•œ ๊ณ„ํš๋“ค์„ ์ค€๋น„ํ•˜๋Š” ์•„์ฃผ ํฐ ์ฒซ๊ฑธ์Œ์ด ๋œ ์ž‘์—…๋ฌผ์ด์—ˆ๋‹ค๊ณ  ์ƒ๊ฐํ•œ๋‹ค!! ๐Ÿ˜Ž๐Ÿ˜Ž

profile
๐Ÿฑโ€๐Ÿ Front End Developer

0๊ฐœ์˜ ๋Œ“๊ธ€