๋ณธ๋ฌธ์œผ๋กœ ๋ฐ”๋กœ๊ฐ€๊ธฐ

Firebase Cloud Function Deploy

category ๐ŸŒš Back/โœจ Firebase 2021. 8. 20. 14:33


ํŒŒ์ด์–ด๋ฒ ์ด์Šค Cloud Function ์‚ฌ์šฉ๋ฒ•

 

1. funcions ํด๋” ์ƒ์„ฑ(์ฝ”๋”ฉ ์ปจ๋ฒค์…˜)
2. Local ํ™˜๊ฒฝ ๋‚ด firebase cli ์„ค์น˜

 

$ npm install -g firebase-tools
$ firebase login --no-localhost
$ firebase init 
//๊ตฌ์„ฑ ํŒŒ์ผ์„ ๋ชจ๋‘ ๊ตฌ๋น„ํ–ˆ์œผ๋ฉด ์ƒ๋žต ๊ฐ€๋Šฅ
$ firebase deploy

 

ํด๋”&ํŒŒ์ผ ๊ตฌ์„ฑ๋„

 

 

 

firebase deploy ์˜ค๋ฅ˜ ๋ฐœ์ƒ 
๊ตฌ๊ธ€ ํด๋ผ์šฐ๋“œ ํ”Œ๋žซํผ ํ•จ์ˆ˜ ์„ธ๋ถ€์ •๋ณด ๋กœ๊ทธ์—์„œ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์˜ค๋ฅ˜๊ฐ€ ๊ณ„์† ๋ฐœ์ƒํ•˜๊ณ  ์žˆ๋Š” ๊ฒƒ์„ ๋ฐœ๊ฒฌํ–ˆ๋‹ค.

internal/modules/cjs/loader.js:1085:14)

 

์„ธ ๊ฐ€์ง€ ๊ฐ€์„ค์ด ์žˆ๋‹ค.

 

์ฒซ์งธ. npm ๊ผฌ์—ฌ์„œ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ–ˆ๋‹ค?

1) npm ์บ์‹œ์‚ญ์ œ์™€ npm๊ณผ ๊ด€๋ จ๋œ ํŒŒ์ผ๊ณผ ํด๋”๋ฅผ ๋ชจ๋‘ ์‚ญ์ œํ•˜๊ณ  ๋‹ค์‹œ ๊น”๋ ค๊ณ  ํ–ˆ๋‹ค. 

node modulesํด๋”๋ฅผ ์‚ญ์ œํ•˜๊ณ  ์žฌ์„ค์น˜ ํ•˜๋‹ˆ npmํŒจํ‚ค์ง€๊ฐ€ ์ค‘๊ฐ„์— ๋ฉˆ์ถฐ ๊ผผ์ง๋„ ์•ˆํ•œ๋‹ค. Putty Restart๋ฅผ ํ–ˆ๋”๋‹ˆ ๋นจ๋ผ์กŒ๋‹ค.

2) node์™€ nvm์„ purge ์ฝ”๋“œ๋ฅผ ์จ์„œ ์‚ญ์ œํ–ˆ๋‹ค. nvm ํด๋” ๋“ฑ๋„ ์‚ญ์ œํ–ˆ๋‹ค.

ํ•˜์ง€๋งŒ ์˜ค๋ฅ˜๋ฐœ์ƒ์€ ๊ทธ๋Œ€๋กœ์˜€๋‹ค.

 

npm ๋ช…๋ น์–ด ๋ชจ์Œ

https://psychogrammer.tistory.com/192

 

(์‚ฌ๊ฒฌ: ํŒจํ‚ค์ง€ ์„ค์น˜ ํ•จ๋ถ€๋กœํ•˜์ง€๋ง๊ณ , ๋ฌธ์ œ๊ฐ€ ์ƒ๊ธฐ๋ฉด ์žฌ์‹œ์ž‘์€ ๊ถ๊ทน์˜ ํ•ด๊ฒฐ๋ฒ•์ด๋‹ค.)

 

 

๋‘˜์งธ.  ํŒจํ‚ค์ง€ ๋ชจ๋“ˆ์ด ์„ค์น˜๋˜์ง€ ์•Š์•„ ๋ถˆ๋Ÿฌ์™€์ง€์ง€ ์•Š์•˜๋‹ค.

 

1) index.js์— ํ•„์š”ํ•œ ๋ชจ๋“ˆ์ด package.json์— ์ ํ˜€์žˆ์ง€ ์•Š์•„์„œ, npm install ํ•ด๋„ ๋ชจ๋“ˆ์ด ๋กœ๋“œ๊ฐ€ ์•ˆ๋์—ˆ๋‹ค. 
- cors :  ์‚ฌ์š”๋งŒํ•˜๊ณ , ์„ค์น˜๋ฅผ ์•ˆํ–ˆ์—ˆ๋‹ค.
- request: ๋ชจ๋“ˆ์ด ๋”์ด์ƒ ์ง€์›ํ•˜์ง€ ์•Š์•„์„œ ๋”ฐ๋กœ ๊น”์•„์ค˜์•ผํ–ˆ๋‹ค.

 

(์‚ฌ๊ฒฌ: ๊ตฌ๊ธ€๋ง๋ณด๋‹ค ์˜ค๋ฅ˜๋ฅผ ์ •ํ™•์ด ์ฝ๊ณ  ํŒ๋‹จํ•˜๋Š” ๊ฒƒ์ด ๋ฌธ์ œํ•ด๊ฒฐ์ด ๋น ๋ฅด๋‹ค. ๊ตฌ๊ธ€ํด๋ผ์šฐ๋“œ ๋กœ๊ทธ๋ฅผ ์„ธ์‹ฌํžˆ ์ฐพ์•„์•ผ ๊ฐ€๋Šฅํ–ˆ๋‹ค.)

 

์…‹์งธ. ํŒŒ์ด์–ด๋ฒ ์ด์Šค ์˜ค๋ฅ˜

ํŒŒ์ด์–ด๋ฒ ์ด์Šค ์ปจ์†”์—์„œ function deploy๊ฐ€ ๋˜์—ˆ๋˜ ์ €์žฅ์†Œ๋ฅผ ๋ฆฌ์…‹ํ•˜๋Š” ๊ฒƒ์ด๋‹ค.

๋…๋ฆฝ์‹œํ–‰์„ ํ•˜์ง€ ์•Š์•„, ์›์ธ์ด ์„ธ๋ฒˆ์งธ์ธ์ง€ ํ™•์‹คํ•˜์ง„ ์•Š๋‹ค.

 

 

 

๋„ค์ด๋ฒ„, ์นด์นด์˜ค oAuth ์ธ์ฆ ์˜ค๋ฅ˜ ๋ฐœ์ƒ

 

1. ์นด์นด์˜ค unathentiaction(401์ธ์ง€402์ธ์ง€ ์•ˆ๋‚˜์˜ค๊ณ  ๊ทธ๋ƒฅ ํšŒ์ƒ‰ํ™”๋ฉด)  / 401์˜ค๋ฅ˜

: ์นด์นด์˜ค์—์„œ ํด๋ผ์šฐ๋“œ ํ•จ์ˆ˜ IP๋ฅผ ํ—ˆ์šฉํ•˜์ง€ ์•Š์•„์„œ ๋ฐœ์ƒํ•œ ๋ฌธ์ œ๋‹ค.

 

1) ์ดˆ๊ธฐํ•ด๊ฒฐ๋ฐฉ๋ฒ• ๊ณ ๊ธ‰์„ค์ •์—์„œ firebase IP๋ฅผ ์ผ์ผ์ด ์ถ”๊ฐ€ ์„ค์ •(107.178.200.235) ๊ณ ์ •IP์ธ์ค„์•”. ํ•˜์ง€๋งŒ IP๊ฐ€ ๊ณ„์†ํ•ด์„œ ๋ฐ”๋€Œ์–ด์„œ ์š”์ฒญํ•จ.
2) ๊ตฌ๊ธ€ ํด๋ผ์šฐ๋“œ IP์ฃผ์†Œ๋ฅผ ๊ณ ์ • IP๋กœ ํ• ๋‹นํ•˜๋Š” ๋ฐฉ๋ฒ•์ด ์—†์„๊นŒ?

https://cloud.google.com/vpc/docs/using-vpc  VPC๋ฅผ ์ด์šฉํ•˜์—ฌ ๊ณ ์ • IPํ• ๋‹น๋ฐฉ๋ฒ• ์ฐพ์Œ. ํ•˜์ง€๋งŒ ์ƒˆ๋กœ์šด VM์„ ์ƒ์„ฑํ•ด์•ผํ•˜๊ธฐ์— ๋น„ํšจ์šธ์ ์ž„.

3) kakao dev์—์„œ ํ—ˆ์šฉ IP๋ฅผ ์ถ”๊ฐ€ํ•œ ์ˆœ๊ฐ„๋ถ€ํ„ฐ, ๊ทธ IP๋งŒ ํ—ˆ์šฉํ•œ๋‹ค๋Š” ์นด์นด์˜ค์˜ ์„ค์ •์ด ์žˆ์—ˆ์Œ. ๋ชจ๋‘ ์‚ญ์ œํ–ˆ๋”๋‹ˆ, ๋ชจ๋“  IP๊ฐ€ ํ—ˆ์šฉ๋˜์—ˆ๊ธฐ์— ํ•ด๊ฒฐํ•จ.


2. 400์˜ค๋ฅ˜:  env์—์„œ redirect url localhost => ์นด์นด์˜ค ๋””๋ฒจ๋กญ์—์„œ ๋ฆฌ๋‹ค์ด๋ ‰ํŠธ ์ฃผ์†Œ ๋„๋ฉ”์ธ์— ๋งž๊ฒŒ ์ถ”๊ฐ€ ์„ค์ •

 



hss been bloked by cors plolicy

 

์ด๊ฒŒ ํฌํŠธ๋ฅผ ๋ง‰์•„์„œ ๋ฐœ์ƒํ•˜๋Š” ์˜ค๋ฅ˜์ธ๊ฒƒ์ธ๊ฐ€
์—‘์„ธ์Šค ํ† ํฐ์„ ๋„๋ฉ”์ธ์—์„œ ๋ฐ›์•„์™€์•ผํ•˜๋Š”๋ฐ ์ด๊ฑธ ๋ง‰์•˜๋‚˜

funcions/index.js CORS๋ชจ๋“ˆ์„ ์„ค์น˜ํ•˜๋‹ˆ ํ•ด๊ฒฐ

 

CORS ์˜ค๋ฅ˜ ๊ด€๋ จ ๋งํฌ
https://coding-groot.tistory.com/91

 

 

๋ฐ˜์‘ํ˜•

'๐ŸŒš Back > โœจ Firebase' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[Firbase] ์ž…๋ฌธ, ์‚ฌ์šฉํ•˜๋Š” ์ด์œ   (0) 2021.07.23