etc

[Firebase] Firebase Cloud Functions 배포하기

Uheeking 2023. 8. 24. 15:55
반응형

파이어베이스 Functions 란?

Firebase 기능과 HTTPS 요청에 의해 트리거 되는 이벤트에 응답하여 백엔드 코드를 자동으로 실행할 수 있는 서버리스 프레임워크

CLI로 프로젝트를 생성했다면 디렉토리에 index.js 파일이 생성되었을 것이다. 이 안에 배포를 하면 배포가 된다. 나는 이미 작성된 코드가 있으므로 기본적인 코드 작성하는 것은 패스하겠다.

로컬에서 테스트하기

내가 작성한 함수를 로컬에서 돌리고 테스트하기를 원한다면

firebase serve

위와 같이 작성하면 로컬에서 돌아간다.

로컬에서 돌아가는 화면
로컬에서 돌아가는 화면

그리고 에뮬레이터가 돌아가는 것이기에, 이에 대한 정보를 확인할 수 있다. 터미널에 나오는 주소창을 클릭하면 overview로 하여 어떤 것이 작동되고 있는지 확인이 가능하다. 그리고 postman등을 이용해 api가 작동되는지도 확인가능하다.

에뮬레이터 화면
에뮬레이터 화면

작성된 코드 배포하기

위에서 로컬로 돌려 내가 작성한 코드가 되는 것을 확인했다면, 이제 firebase를 배포하면 된다.

firebase deploy --only functions

위의 커맨드를 쳐서 배포를 해준다. 그런데 생각보다 배포하는데 시간 오래걸린다. 그래서

firebase deploy --only functions:함수명

전체 배포가 아닌 부분배포라면 위의 커맨드를 써서 배포하는 것을 추천한다. 하나만 배포하는데 전체를 배포하는 것은 매우 비효율적이다.

그리고 나서 firebase 홈페이지에 function탭에 내가 배포한 함수가 있는 것을 확인해야 한다. 만약에 없다면 제대로 배포된 것이 아니다.

에러

1) 프로젝트가 안 돌아가는 경우

firebase projects:list

위와 같이 쳐서 돌아가고 있는 프로젝트가 있는지 봐야 한다.

파이어베이스 프로젝트 리스트
파이어베이스 프로젝트 리스트

위와 같이 나오면 project Id에 프로젝트 이름이 제대로 나오고 해당 프로젝트 옆에 ***(current)***라고 출력되어 있는지 확인해야 한다.

만약 되어 있지 않다면

firebase use <project_id>

위의 커맨드를 쳐서 본인이 사용하고 있는 프로젝트로 전환해줘야 한다.

2) 권한이 없을 경우

firebase 홈페이지에 들어가서 돌리고 있는 해당 프로젝트로 들어가서 사용자 권한에 들어가서 권한을 바꾸면 된다. 내 경우 편집자로 되어 있어 권한이 안되어 배포하지 못했다. 소유자 권한을 가지고 배포하는데 무리가 없다.

👇🏻 참고

https://ivvve.github.io/2019/08/30/etc/firebase/functions/easy-firebase-cloud-functions-2/

https://stove99.github.io/nodejs/2021/05/10/firebase-functions-region/

https://stackoverflow.com/questions/36432458/how-do-i-switch-apps-from-the-firebase-cli

반응형