๊ฐœ๋ฐœ ๊ณต๋ถ€/๋ฐ๋ธŒ์ฝ”์Šค TIL

[ํด๋ผ์šฐ๋”ฉ ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜ ์—”์ง€๋‹ˆ์–ด๋ง TIL] 240222 - Firebase๋กœ ํ”„๋กœ์ ํŠธ ๋ฐฐํฌํ•˜๊ธฐ

๊ฐ€์šค์ด 2024. 2. 22. 23:58

Intro


์˜ค๋Š˜์€ Firebase์— ํ”„๋กœ์ ํŠธ๋ฅผ ๊ฐ„๋‹จํ•˜๊ฒŒ ๋ฐฐํฌํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ํ•™์Šตํ–ˆ๋‹ค.

node v16์—์„œ firebase-tools๋ฅผ ์„ค์น˜ํ•˜๊ณ  firebase๋ฅผ ์‹คํ–‰ํ–ˆ๋Š”๋ฐ v16๋ฒ„์ „์—์„  ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๋‹ค๋Š” ์˜ค๋ฅ˜๊ฐ€ ๋‚ฌ๋‹ค.

ํ˜„์žฌ lts ๋ฒ„์ „์œผ๋กœ 20.11.1์ธ๋ฐ ๋‚˜๋Š” ํ•œ์ฐธ ๋‚ฎ์€ ๋ฒ„์ „์„ ์“ฐ๊ณ  ์žˆ์—ˆ๋‹ค. ๐Ÿ˜…

 

 

 

์˜ค๋Š˜ ํ•™์Šตํ•œ ๋‚ด์šฉ


Firebase๋กœ ํ”„๋กœ์ ํŠธ ๋ฐฐํฌํ•˜๊ธฐ

 

Firebase | Google’s Mobile and Web App Development Platform

๊ฐœ๋ฐœ์ž๊ฐ€ ์‚ฌ์šฉ์ž๊ฐ€ ์ข‹์•„ํ•  ๋งŒํ•œ ์•ฑ๊ณผ ๊ฒŒ์ž„์„ ๋นŒ๋“œํ•˜๋„๋ก ์ง€์›ํ•˜๋Š” Google์˜ ๋ชจ๋ฐ”์ผ ๋ฐ ์›น ์•ฑ ๊ฐœ๋ฐœ ํ”Œ๋žซํผ์ธ Firebase์— ๋Œ€ํ•ด ์•Œ์•„๋ณด์„ธ์š”.

firebase.google.com

 

  • Firebase ํŽ˜์ด์ง€์—์„œ ๋กœ๊ทธ์ธ ํ›„, ํ”„๋กœ์ ํŠธ ์ถ”๊ฐ€

 

  • ์ƒ์„ฑํ•œ ํ”„๋กœ์ ํŠธ ํŽ˜์ด์ง€์—์„œ ํ˜ธ์ŠคํŒ… ํŽ˜์ด์ง€๋กœ ์ด๋™ (firebase ์„ค์น˜, ์‹คํ–‰ ๋ฐฉ๋ฒ•์„ ํ™•์ธํ•˜๊ณ  ๊ทธ๋Œ€๋กœ ์ง„ํ–‰)

 

  • ํ„ฐ๋ฏธ๋„๋กœ firebase ์„ค์น˜ํ•˜๊ธฐ
$ npm install -g firebase-tools

 

  • ํ”„๋กœ์ ํŠธ ์ดˆ๊ธฐํ™”

ํ„ฐ๋ฏธ๋„์—์„œ ํ˜„์žฌ ์›น์•ฑ์˜ ์œ„์น˜๋กœ ์ด๋™ํ•ด ๋กœ๊ทธ์ธ๊ณผ ์ดˆ๊ธฐํ™”๋ฅผ ์ง„ํ–‰

$ firebase login
$ firebase init

 

Which Firebase features do you want to set up for this directory?

: firebase init ์„ค์ •์—์„œ Hosting ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด 'Hosting: Set up GitHub Action deploys'๋ฅผ ์„ ํƒํ•œ๋‹ค.

 

What do you want to use as your public directory?

: ํ˜ธ์ŠคํŒ… ์‹œ ์ ‘๊ทผํ•  ๊ณต๊ฐœ ํด๋”๊ฐ€ build์ด๋ฏ€๋กœ 'build' ์ž…๋ ฅ ํ›„ ์—”ํ„ฐ

 

ํ˜ธ์ŠคํŒ… ์„ค์ •์ด ๋๋‚˜๋ฉด firebase.json, .firebaserc 2๊ฐœ์˜ ํŒŒ์ผ์ด ์ƒ์„ฑ๋œ๋‹ค.

 

  • firebase.json: ํ˜ธ์ŠคํŒ… ๊ตฌ์„ฑ์„ ์ •์˜
{
  "hosting": {
    "site": "site-name",
    "public": "build",
    "ignore": ["firebase.json", "**/.*", "**/node_modules/**"],
    "rewrites": [
      {
        "source": "**",
        "destination": "/index.html"
      }
    ]
  }
}

 

  • .firebaserc: ๋ฐฐํฌ ๋Œ€์ƒ ํ”„๋กœ์ ํŠธ ์ •์˜
{
  "projects": {
    "default": "hosting-name"
  }
}

 

  • firebase ํ˜ธ์ŠคํŒ…์— ๋ฐฐํฌ
$ npm run build
$ firebase deploy

 

 

 

 

 

๋งˆ๋ฌด๋ฆฌ


ํ”„๋กœ์ ํŠธ๋ฅผ ๋ฐฐํฌํ•˜๋Š” ๊ฒƒ๊นŒ์ง€ ๋ฐฐ์šฐ๋‹ˆ๊นŒ ์–ผ๋ฅธ ์ƒˆ๋กœ์šด ์›น ์‚ฌ์ดํŠธ๋ฅผ ๋งŒ๋“ค์–ด๋ณด๊ณ  ์‹ถ์–ด์กŒ๋‹ค. ใ…Žใ…Ž