์ญ์ ํ์ง ๋ง์ญ์์ค. validate_template=true template_path=.github/ISSUE_TEMPLATE/bug_report.md Firebase ์ปค๋ฎค๋ํฐ์ ๊ธฐ์ฌํด ์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค! md5-cd82511516d4d120ac6f38b938897bc8 ์, ์ฐ๋ฆฌ๋ ํ์คํ ์๋ฒฝํ์ง ์์ต๋๋ค! ์ด ํ ํ๋ฆฟ์ ์ฌ์ฉํ๊ณ ๋ฌธ์ ๋ฅผ ์ด โโ๋ ์ต์ํ์ ์ฌํ์ ํฌํจํ์ญ์์ค. ์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ๋ฐฉ๋ฒ์ ์๊ณ ๊ณ์๋ค๋ฉด ํ ๋ฆฌํ์คํธ๋ฅผ ์์ฑํด ์ฃผ์๋ฉด ๊ธฐ๊บผ์ด ๊ฒํ ํด ๋๋ฆฌ๊ฒ ์ต๋๋ค! md5-d1dc1414712186318d009e8257a27e48 ์ข์ต๋๋ค. ์ ํ์ ๊ฐ์ ํ ์ ์๋ ๋ฐฉ๋ฒ์ ๋ฃ๊ณ ์ถ์ต๋๋ค! ๊ทธ๋ฌ๋ ์ด ํ ํ๋ฆฟ์ ์ฌ์ฉํ์ฌ ๊ธฐ๋ฅ ์์ฒญ์ ์ ์ถํ์ง ๋ง์ญ์์ค. ๊ธฐ๋ฅ ์์ฒญ์ ๋ค์ ์ฃผ์๋ก ์ ์ถํด ์ฃผ์ธ์. https://firebase.google.com/support/contact/bugs-features/ md5-a11e3d9ea91af19a593bf84612124e1a ๋ง์ ์์ฒญ์ ๋ฐ๊ณ ์์ผ๋ฉฐ ๊ธฐ๊บผ์ด ๋์๋๋ฆฌ๊ณ ์์ง๋ง GitHub๋ ์ด๋ฌํ ์์ฒญ์ ์ํ ์ต์ ์ ์ฅ์๊ฐ ์๋๋๋ค. ํ์๋ฉ๋๋ค. ๋จผ์ ๊ฐ์ด๋๋ฅผ ์ดํด๋ณด์ธ์. https://firebase.google.com/docs/cli/ ๊ณต์ ๋ฌธ์๊ฐ ๋์์ด ๋์ง ์์ผ๋ฉด ๊ณต์ ์ง์ ์ฑ๋(https://firebase.google.com/)์ ํตํด ๋ฌธ์ํด ๋ณด์ธ์. support/ ์ปค๋ฎค๋ํฐ์ ์๋ฃจ์ ์ด๋ ์ง์์ ํ์ธํ ์ ์๋ ์ถ๊ฐ ์์น: - Stack Overflow: https://stackoverflow.com/ - Firebase Slack ์ปค๋ฎค๋ํฐ: https://firebase.community/ *์ฌ๋ฌ ์ฑ๋์ ์ค๋ณต ๊ฒ์๋ฅผ ๋ฐฉ์งํ์ธ์!*
Firebase ๋๊ตฌ:
firebase --version
7.2.2
ํ๋ซํผ:
MacOS(10.14.6(18G87)) ๋ฐ Windows 10 ๊ฐ๋ฐ ํ๊ฒฝ ๋ชจ๋.
MCVE: Firebase ํจ์ ํ
ํ๋ฆฟ + firebase.json
์ 'functions.ignore' ์น์
Firebase ํ๋ก์ ํธ๋ฅผ ๋ง๋ญ๋๋ค.
๊ธฐ๋ณธ ์ต์ ์ผ๋ก Firebase ์ด๊ธฐํ ๊ธฐ๋ฅ์ ์คํํ๊ณ ์ ํ๋ก์ ํธ์ ์ถ๊ฐํฉ๋๋ค.
firebase init functions
index.js
์์ helloWorld ์ํ ํจ์์ ์ฃผ์ ์ฒ๋ฆฌ๋ฅผ ์ ๊ฑฐํ๊ณ ๋ค์์ ๋ฐฐํฌํฉ๋๋ค.
โ> ~/D/f/functions firebase deploy 11:02:38
=== Deploying to 'test-function-deploy-3a957'...
i deploying functions
i functions: ensuring necessary APIs are enabled...
โ functions: all necessary APIs are enabled
i functions: preparing functions directory for uploading...
i functions: packaged functions (22.95 KB) for uploading
โ functions: functions folder uploaded successfully
i functions: updating Node.js 8 function helloWorld(us-central1)...
โ functions[helloWorld(us-central1)]: Successful update operation.
โ Deploy complete!
Project Console: https://console.firebase.google.com/project/test-function-deploy-3a957/overview
โ> ~/D/f/functions
๋ฐฐํฌ๋ ํจํค์ง ํจ์ ํฌ๊ธฐ(22.95KB)๋ฅผ ํ์ธํฉ๋๋ค.
'functions.ignore' ์น์
์ ํฌํจํ๋๋ก firebase.json
๋ฅผ ํธ์งํฉ๋๋ค.
{
"functions": {
"ignore": []
}
}
๋ค์ ๋ฐฐํฌ:
โ> ~/D/f/functions firebase deploy 11:03:24
=== Deploying to 'test-function-deploy-3a957'...
i deploying functions
i functions: ensuring necessary APIs are enabled...
โ functions: all necessary APIs are enabled
i functions: preparing functions directory for uploading...
i functions: packaged functions (9.07 MB) for uploading
โ functions: functions folder uploaded successfully
i functions: updating Node.js 8 function helloWorld(us-central1)...
โ functions[helloWorld(us-central1)]: Successful update operation.
โ Deploy complete!
Project Console: https://console.firebase.google.com/project/test-function-deploy-3a957/overview
โ> ~/D/f/functions
๋ฐฐํฌ๋ ํจํค์ง๋ 22.95KB ์์ 9.07MB ๋ก ๋์ด๋ฌ์ต๋๋ค.
๋ฌด์ํ๋ฉด ๋ฐฐํฌ๋ ํจํค์ง๊ฐ ์ปค์ง์ง ์๊ณ ์์์ง ๊ฒ์ผ๋ก ์์ํฉ๋๋ค.
๋ฐฐํฌ๋ ํจํค์ง์ ํฌ๊ธฐ๋ 22.95KB์์ 9.07MB๋ก ์์ญ ๋ฐฐ ์ฆ๊ฐํฉ๋๋ค.
์ฐธ๊ณ ๋ก ์ด ๊ฒฝ์ฐ ๋ก์ปฌ node_modules
์ ํฌํจํ functions
ํด๋์ ํฌ๊ธฐ๋ 29MB์
๋๋ค. node_modules
ํด๋ ์์ฒด๋ ๋์คํฌ์ 28.9MB์ด๊ณ ~6MB gzip์ผ๋ก ์์ถ๋ฉ๋๋ค.
์ด๊ฒ์ ์๋ง๋ tsc
๋ถ๋ถ ์ดํ์ ๋ฌธ์ ๊ฐ ํธ๋ฆฌ๊ฑฐ๋๊ธฐ ๋๋ฌธ์ TypeScript ํ๋ก์ ํธ์๋ ์ํฅ์ ๋ฏธ์นฉ๋๋ค.
firebase.json
๊ตฌ์ฑ ํ์ผ, ํนํ functions
์น์
์ ๋ํ ์ข์/๊ฒฐ์ ์ ์ธ ๋ฌธ์๋ฅผ ์์ง ์ฐพ์ง ๋ชปํ์ต๋๋ค. ์ฌ๊ธฐ์ hosting
์น์
์ ๋ํ ๋ฌธ์๊ฐ ์์ต๋๋ค . functions.ignore
๊ตฌ์กฐ/์ฌ์ฉ์ ๋ํ ๋์ ์ดํด๋ ํ์ฌ https://github.com/firebase/firebase-tools/issues/291#issuecomment -322526710์ ๊ธฐ๋ฐ์ผ๋ก ํฉ๋๋ค.
@laurenzlong ์ด ignore
์น์
์ด ์๋/์์ ๋์ด์ผ ํจ์ ๋ํ๋ด๋ ๊ด๋ จ ๋ฌธ์ #429๊ฐ ์์ต๋๋ค.
๋ฐฐํฌํ๊ธฐ ์ ์ ๋ฐฐํฌ๋ ํจํค์ง๊ฐ ๋ก์ปฌ๋ก ๋น๋๋๋ ์์น๋ ๋ฌด์์ ๋๊น? --debug๋ก ์คํํ๋๋ฐ ์ ์ฉํ ํ์ผ ๊ฒฝ๋ก๋ฅผ ์ฐพ์ ์ ์์์ต๋๋ค.
๊ณ ๋ คํด ์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค! ๊ทธ๋ฆฌ๊ณ ๋ด ์ ํ ํ ๋๋ง ๋ฐ์ดํฐ ๊ณํ์ ์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํด ์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค. ํ์ฌ ํ๋ก์ ํธ ๋ฐฐํฌ๊ฐ ๋ฌด์จ ์ผ์ด ์ผ์ด๋๊ณ ์๋์ง ํ์ ํ๊ธฐ ์ ์ ~55MB์ด๊ธฐ ๋๋ฌธ์ ๋๋ค. :)
๊ทํ๊ฐ ์ค๋ช ํ ๋์์ ์ ๊ฐ ์์ํ๋ ๋์์ ๋๋ค.
๋น์ ์ด ์ง์ ํ ๊ฒ์ฒ๋ผ ๋ฌธ์ ์๋ functions.ignore
๊ฐ ์ค๋ช
๋์ด ์์ง ์์ต๋๋ค. ๊ทธ๋ฌ๋ CLI์์ ์ฌ์ฉ๋ฉ๋๋ค .
๋น๊ณต์์ ์ผ๋ก(_undocumented_) firebase.ignore
์ ๊ธฐ๋ณธ๊ฐ์ ["node_modules"]
์
๋๋ค. ์ด๋ฅผ ํตํด ๋ฐฐํฌ ์ค์ ์
๋ก๋ํด์ผ ํ๋ ํญ๋ชฉ์ ์์ ์ ํํ ์ ์์ต๋๋ค(๋งค์ฐ ๋น ๋ฅด๊ฒ ์ปค์ง ์ ์๋ค๊ณ ์์ํ ์ ์์). package.json
firebase.ignore
๋ฅผ ์ค์ ํ๋ฉด CLI์ _์๋ฌด๊ฒ๋_ ๋ฌด์ํด์ผ ํ๋ค๊ณ ์๋ ค์ค๋๋ค. ์ด์ node_modules
ํด๋๊ฐ ์์นด์ด๋ธ์ ํฌํจ๋์ด Functions๋ก ์ ์ก๋ฉ๋๋ค.
๊ทํ์ ์ง๋ฌธ์ ๋ตํ๊ธฐ ์ํด: ํ๋ก์ธ์ค์ ๋ํ ๋์ ์์ค์ ์ค๋ช ์์ CLI๋ ๋ก์ปฌ๋ก ํจํค์ง๋ฅผ ๋น๋ํ์ง ์์ต๋๋ค. ๋๋ต ๋ค์์ ์ํํฉ๋๋ค.
firebase.json
์๋ ์ง์ ๋จ).node_modules
๋ฌด์)ํ๊ณ Functions์ ์
๋ก๋ํฉ๋๋ค.์์ค ์ฝ๋๊ฐ ์
๋ก๋๋๋ฉด Functions ์ธํ๋ผ๋ npm install
package.json
#$8$#$๋ฅผ ์คํํ๊ณ ์์ค๋ ์ด๋ํ์ฌ ์ฌ์ฉ์์๊ฒ ์๋น์ค๋ฅผ ์ ๊ณตํ ์ค๋น๊ฐ ๋ฉ๋๋ค(์ ์ด๋ ์ด ๋งค์ฐ ์์ฌ์ด ์ค๋ช
์์๋).
๊ทํ์ ์ง๋ฌธ์ ๋ต๋ณ์ด ๋์๊ธฐ๋ฅผ ๋ฐ๋๋๋ค. ํ์ง๋ง ์ฌ๊ธฐ์๋ CLI ๊ด๋ จ ๋ฒ๊ทธ๊ฐ ์์ผ๋ฏ๋ก ์ด ๋ฌธ์ ๋ฅผ ์ข ๋ฃํ๊ฒ ์ต๋๋ค.
@bkendall ์ ๋ณด ๊ฐ์ฌํฉ๋๋ค.
#291์ ๊ธฐ๋ฐ์ผ๋ก CLI๊ฐ _ํญ์_ node_modules๋ฅผ ์ ์ธํ๊ณ functions.ignore
์ ์๋ ๋ด์ฉ์ด ์ถ๊ฐ์ ์ด๋ผ๊ณ ์๋ชป ์๊ฐํ์ต๋๋ค. node_modules์ ๋ํ ๋ช
์์ ํจํด์ ์ถ๊ฐํ๋ฉด ์ค๋ช
ํ ๋๋ก ์ํ๋ฉ๋๋ค.
@bkendall ์ ๋ฌธ์ํํ์ง ์์ต๋๊น?
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
๊ทํ๊ฐ ์ค๋ช ํ ๋์์ ์ ๊ฐ ์์ํ๋ ๋์์ ๋๋ค.
๋น์ ์ด ์ง์ ํ ๊ฒ์ฒ๋ผ ๋ฌธ์ ์๋
functions.ignore
๊ฐ ์ค๋ช ๋์ด ์์ง ์์ต๋๋ค. ๊ทธ๋ฌ๋ CLI์์ ์ฌ์ฉ๋ฉ๋๋ค .๋น๊ณต์์ ์ผ๋ก(_undocumented_)
firebase.ignore
์ ๊ธฐ๋ณธ๊ฐ์["node_modules"]
์ ๋๋ค. ์ด๋ฅผ ํตํด ๋ฐฐํฌ ์ค์ ์ ๋ก๋ํด์ผ ํ๋ ํญ๋ชฉ์ ์์ ์ ํํ ์ ์์ต๋๋ค(๋งค์ฐ ๋น ๋ฅด๊ฒ ์ปค์ง ์ ์๋ค๊ณ ์์ํ ์ ์์).package.json
firebase.ignore
๋ฅผ ์ค์ ํ๋ฉด CLI์ _์๋ฌด๊ฒ๋_ ๋ฌด์ํด์ผ ํ๋ค๊ณ ์๋ ค์ค๋๋ค. ์ด์ node_modules
ํด๋๊ฐ ์์นด์ด๋ธ์ ํฌํจ๋์ด Functions๋ก ์ ์ก๋ฉ๋๋ค.๊ทํ์ ์ง๋ฌธ์ ๋ตํ๊ธฐ ์ํด: ํ๋ก์ธ์ค์ ๋ํ ๋์ ์์ค์ ์ค๋ช ์์ CLI๋ ๋ก์ปฌ๋ก ํจํค์ง๋ฅผ ๋น๋ํ์ง ์์ต๋๋ค. ๋๋ต ๋ค์์ ์ํํฉ๋๋ค.
firebase.json
์๋ ์ง์ ๋จ).node_modules
๋ฌด์)ํ๊ณ Functions์ ์ ๋ก๋ํฉ๋๋ค.์์ค ์ฝ๋๊ฐ ์ ๋ก๋๋๋ฉด Functions ์ธํ๋ผ๋
npm install
package.json
#$8$#$๋ฅผ ์คํํ๊ณ ์์ค๋ ์ด๋ํ์ฌ ์ฌ์ฉ์์๊ฒ ์๋น์ค๋ฅผ ์ ๊ณตํ ์ค๋น๊ฐ ๋ฉ๋๋ค(์ ์ด๋ ์ด ๋งค์ฐ ์์ฌ์ด ์ค๋ช ์์๋).๊ทํ์ ์ง๋ฌธ์ ๋ต๋ณ์ด ๋์๊ธฐ๋ฅผ ๋ฐ๋๋๋ค. ํ์ง๋ง ์ฌ๊ธฐ์๋ CLI ๊ด๋ จ ๋ฒ๊ทธ๊ฐ ์์ผ๋ฏ๋ก ์ด ๋ฌธ์ ๋ฅผ ์ข ๋ฃํ๊ฒ ์ต๋๋ค.