Frontend/Web

[Web] Vercel๋กœ ๋ฌด๋ฃŒ ๋ฐฐํฌํ•˜๊ธฐ (+ .env ํŒŒ์ผ ํ™˜๊ฒฝ๋ณ€์ˆ˜ ๋“ฑ๋กํ•˜๊ธฐ)

oneyenee 2024. 4. 17. 00:59

โœ” Vercel ์ด๋ž€?

๐Ÿ’ก
 ํ”„๋ก ํŠธ์—”๋“œ ๊ฐœ๋ฐœ์ž๋“ค์„ ์œ„ํ•œ ํด๋ผ์šฐ๋“œ ์„œ๋น„์Šค๋ฅผ ์ œ๊ณตํ•˜๊ณ  ์žˆ๋Š” ํšŒ์‚ฌ.

 React.js์˜ ํ™•์žฅํŒ ๊ฐœ๋…์ธ Next.js๋ฅผ ๊ฐœ๋ฐœํ•˜๋Š” ํšŒ์‚ฌ.

 ํ˜ธ์ŠคํŒ… ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ๋‹ค์–‘ํ•œ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•˜๊ณ  ์žˆ๊ณ  ๋ฌด๋ฃŒ ํ”Œ๋žœ์—์„œ๋„ ๋งŽ์ด ์ด์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.
 
 

 

 

 

Vercel๋กœ ํ”„๋กœ์ ํŠธ ๋ฐฐํฌ๋ฅผ ํ•ด๋ณด์ž!

 

 

1. ํšŒ์›๊ฐ€์ž…

 

 

๊ต์œก์„ ๋ชฉ์ ์œผ๋กœ ํ•œ ๊ฐœ์ธ ํ”„๋กœ์ ํŠธ ๋ฐฐํฌ์šฉ์œผ๋กœ ์‚ฌ์šฉํ•  ์˜ˆ์ •์ž„์œผ๋กœ Hobby ์ฒดํฌ.

Name ์นธ์—๋Š” ํ•œ๊ธ€ ์ž…๋ ฅ์€ ๋ถˆ๊ฐ€๋Šฅํ•˜๋‹ค.

 

 

Github ์—ฐ๋™์œผ๋กœ๋„ ํšŒ์›๊ฐ€์ž…์ด ๊ฐ€๋Šฅํ•˜๋‹ค.

์•„๋ฌด๊ฒƒ๋„ ์›ํ•˜์ง€ ์•Š๋Š”๋‹ค๋ฉด Continue with Email๋กœ ์ง„ํ–‰ํ•˜๋ฉด ๋˜์ง€๋งŒ, ๋‚˜๋Š” ๊นƒํ—ˆ๋ธŒ๋ฅผ ์—ฐ๊ฒฐํ•ด์คฌ๋‹ค.

 

 

์ด๋ฉ”์ผ ์—ฐ๋™ ํ›„ ์ด๋Ÿฐ ํ™”๋ฉด์ด ๋–ด๋‹ค๋ฉด, ํšŒ์›๊ฐ€์ž… ์™„๋ฃŒ!

 

 

2. VSCode ์‹คํ–‰ํ•˜๊ธฐ

Build๊ฐ€ ์™„๋ฃŒ๋œ ํ”„๋กœ์ ํŠธ ํŒŒ์ผ์— Terminal์„ ์ผœ์ค€๋‹ค.

 

2-1 ) Vercel์„ VScode์— ์„ค์น˜ํ•ด์ค€๋‹ค.

 

npm i -g vercel

 

2-2) Vercel์— ๋กœ๊ทธ์ธ์„ ํ•ด์ค€๋‹ค.

 

vercel login

 

์—ฌ๋Ÿฌ๊ฐ€์ง€ ๋กœ๊ทธ์ธ ์ˆ˜๋‹จ์ด ๋ณด์—ฌ์ฃผ๋Š”๋ฐ, ๊ฐ€์ž…ํ•œ ๋ฐฉ์‹์œผ๋กœ ๋กœ๊ทธ์ธํ•œ๋‹ค.

๋‚˜๋Š” ๊นƒํ—ˆ๋ธŒ๋กœ ๋กœ๊ทธ์ธ ํ–ˆ์Œ์œผ๋กœ ๊นƒํ—ˆ๋ธŒ๋กœ ์—ฐ๊ฒฐํ•ด๋ณด๋ ค ํ•œ๋‹ค.

 

 

Success ๊ฐ€ ๋œจ๋ฉด ์—ฐ๊ฒฐ ์™„๋ฃŒ

 

 

 

 

3. ๋ฐฐํฌํ•˜๊ธฐ

vercel

 

๋ช…๋ น์–ด vercel์„ ์ž…๋ ฅํ•˜๋ฉด ๋ฐฐํฌ๋ฅผ ์œ„ํ•œ ์—ฌ๋Ÿฌ๊ฐ€์ง€ ์งˆ๋ฌธ์„ ํ•œ๋‹ค.

 

๋ฐฉ๊ธˆ ๋งŒ๋“  ๊ณ„์ •์ž„์œผ๋กœ vercel ์ž์ฒด์— ๋‚ด๊ฐ€ ๊ฐ€์ง„ repo๋Š” ์—†๋‹ค. '

๋”ฐ๋ผ์„œ existing project๋Š” ์—†๋‹ค๊ณ  ์ฒดํฌํ•ด์ฃผ๊ณ , ๊ทธ๋ฐ–์˜ ๋ฌผ์Œ์€ ๋ชจ๋‘ ๊ธฐ๋ณธ๊ฐ’์œผ๋กœ ์ง„ํ–‰ํ–ˆ๋‹ค.

 

๋งˆ์ง€๋ง‰ Want to modify these settings ๋˜ํ•œ ์„ธํŒ…์„ ๋ฐ”๊พธ๊ณ  ์‹ถ์ง€ ์•Š์•„ N๋ฅผ ์„ ํƒํ–ˆ๋‹ค.

 

 

 

 

๋ฐฐํฌ๊ฐ€ ์™„๋ฃŒ๋˜๋ฉด ๋งํฌ๋ฅผ ์—ฌ๋Ÿฌ๊ฐ€์ง€ ์ฃผ๋Š”๋ฐ

โœ… Production ์ด ๋ฐ”๋กœ ๋ฐฐํฌ๋œ ๋งํฌ๋‹ค

 

 


 

 

๊ทธ๋Ÿฐ๋ฐ, ๋‚ด ํŒŒ์ผ์€ ๋ฐฐํฌ๋œ ํ›„์— ์˜ค๋ฅ˜๊ฐ€ ์ƒ๊ฒผ๋‹ค.

 

์˜ํ™” API๋ฅผ ๊ฐ€์ ธ์™€์„œ ๋งŒ๋“œ๋Š” ํ”„๋กœ์ ํŠธ์˜€๋Š”๋ฐ, API KEY๋“ค์„ local์— ์œ„์น˜ํ•œ .env ํŒŒ์ผ์—์„œ ๊ด€๋ฆฌํ•˜๊ณ  ์žˆ์—ˆ๊ณ 

envํŒŒ์ผ์„ .gitignore๋กœ ์ปค๋ฐ‹๋˜์ง€ ์•Š๋„๋ก ๊ด€๋ฆฌํ•˜๊ณ  ์žˆ์—ˆ๊ธฐ ๋•Œ๋ฌธ์— ๋‹น์—ฐํ•˜๊ฒŒ๋„ ํ™”๋ฉด์ด ๋กœ๋”ฉ์ด ๋˜๋‹ค๊ฐ€ ์˜ค๋ฅ˜๊ฐ€ ๋‚ฌ๋‹ค.

ํ‚น๋ฐ›๋Š”๋‹ค

 

๊ทธ๋ฆฌ๊ณ  ๋ฌด์—‡๋ณด๋‹ค Vercel์€ .envํŒŒ์ผ์ด ์•„๋‹Œ ์ž์ฒด repository setting์— ํ™˜๊ฒฝ๋ณ€์ˆ˜๋ฅผ ์„ค์ •ํ•ด์ค˜์•ผ ํ–ˆ๋‹ค.

 

 

 

โœ” ๋ฌธ์ œ ํ•ด๊ฒฐ ) Vercel ํ™˜๊ฒฝ๋ณ€์ˆ˜ ์„ค์ •ํ•˜๊ธฐ

1. Repo ์ ‘๊ทผํ•˜๊ธฐ

 

์™ผ์ชฝ ์ƒ๋‹จ ํ”„๋กœํ•„์„ ๋ˆ„๋ฅด๋ฉด, ๋‚ด๊ฐ€ ๋ฐฐํฌํ•œ Repo๋ฅผ ๋ณผ ์ˆ˜ ์žˆ๋‹ค.

 

 

Repo ์„ ํƒ ํ›„ Settings์— ๋“ค์–ด๊ฐ„๋‹ค.

 

 

Environment Variables ํƒญ์—์„œ 

Import๋กœ .env ํŒŒ์ผ์„ ๋ถˆ๋Ÿฌ์™€ ์ €์žฅ์‹œํ‚จ๋‹ค.

 

 

 

Save๋ฅผ ํ•˜๊ณ  ๋‹ค์‹œ ํŽ˜์ด์ง€๋ฅผ ์—ด์–ด๋ณด๋ฉด?

์—ญ์‹œ๋‚˜ ์•ˆ๋œ๋‹ค ^___________^

 

์ •๋‹ต์€ ์žฌ๋ฐฐํฌ

 

 

vercel
vercel --prod

 

VS Code์—์„œ ์žฌ๋ฐฐํฌ๋ฅผ ํ•œ ๋’ค ๋Œ€๋ถ€๋ถ„์€ ์ด์Šˆ๊ฐ€ ํ•ด๊ฒฐ๋œ๋‹ค.

 

์ด ๋ฐฉ๋ฒ•์ด ํ†ตํ•˜์ง€ ์•Š์„ ๊ฒฝ์šฐ ๊ฐ€๋Šฅํ•œ ๋ฐฉ๋ฒ•์€

 

 

1. Data Cashe๋ฅผ Purge Everything์„ ํ•ด์ค€ ๋’ค, Redeploy ํ•˜๋ฉด ํ•ด๊ฒฐ๋˜๋Š” ๋ฐฉ๋ฒ•

 

์ด๋งˆ์ €๋„ ๋˜์ง€ ์•Š๋Š”๋‹ค๋ฉด, ๋‹จ์ˆœ ํ™˜๊ฒฝ๋ณ€์ˆ˜์˜ ๋ฌธ์ œ๊ฐ€ ์•„๋‹ ํ™•๋ฅ ์ด ๋†’๋‹ค.

 

 

 

๋‚˜๊ฐ™์€ ๊ฒฝ์šฐ๋Š” ์ฝ˜์†” ์ฐฝ์„ ์ผœ๋ณด๋‹ˆ ์—๋Ÿฌ๊ฐ€ ํ•˜๋‚˜ ๋– ์žˆ์—ˆ๋‹ค.

 

this request has been blocked; the content must be served over HTTPS.

 

๋†€๋ž๊ฒŒ๋„, ์•”ํ˜ธํ™”๋œ HTTPS ์‚ฌ์ดํŠธ (๋‚ด๊ฐ€ vercel๋กœ ๋ฐฐํฌํ•œ ์‚ฌ์ดํŠธ)์—์„œ ์•”ํ˜ธํ™”๋˜์ง€ ์•Š์€ HTTP ์‚ฌ์ดํŠธ์— ์š”์ฒญ์„ ๋ณด๋‚ด์„œ Mixed content ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•œ ๊ฒƒ์ด์—ˆ๋‹ค.

 

 

๐Ÿ’ก ํ•ด๊ฒฐ๋ฐฉ๋ฒ•

<meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">

 

Html ํŒŒ์ผ head์— ๋ฉ”ํƒ€ํƒœ๊ทธ๋ฅผ ์ถ”๊ฐ€ํ•ด์ฃผ๋‹ˆ ๊ท€์‹ ๊ฐ™์ด ์—๋Ÿฌ๊ฐ€ ํ•ด๊ฒฐ๋๋‹ค.

 

๊ทธ๋ ‡๊ฒŒ... 2์‹œ๊ฐ„์„ ๋ฒ„๋ ธ๋‹ค.....ใ…‹

'Frontend > Web' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

๋ธŒ๋ผ์šฐ์ € ๋ Œ๋”๋ง(Rendering) ๊ณผ์ •  (0) 2023.09.09
DOM, CSSOM, Render Tree๋ž€ ๋ฌด์—‡์ธ๊ฐ€?  (0) 2023.09.09