보안상 이유로 git에 커밋을 할 때 api키등은 .env파일에 저장해 노출이 되지 않게 했다.
그래서 여기서 문제가 발생했었는데 .env
파일이 로컬에만 존재하니
firebase서버에선 읽을수가 없기떄문에 이런 에러가 생겼다.
Settins -> Secrets -> Actions -> New repository secret
그러면 이렇게 추가할 수가 있는데 작성후 Add secret을 눌러준다.
그리고 이렇게 secret들을 추가해줬다.
이제 .yml파일을 수정해줘야 한다.
사용하려는 환경변수를 env아래에 추가해주면 되는데 이런식이다.
name: Deploy to Firebase Hosting on PR
'on': pull_request
env:
REACT_APP_FB_API_KEY: '${{ secrets.REACT_APP_FB_API_KEY }}'
REACT_APP_FB_AUTH_DOMAIN: '${{ secrets.REACT_APP_FB_AUTH_DOMAIN }}'
REACT_APP_FB_PROJECT_ID: '${{ secrets.REACT_APP_FB_PROJECT_ID }}'
REACT_APP_FB_STORAGE_BUCKET: '${{ secrets.REACT_APP_FB_STORAGE_BUCKET }}'
REACT_APP_FB_MESSAGING_SENDER_ID: '${{ secrets.REACT_APP_FB_MESSAGING_SENDER_ID }}'
REACT_APP_FB_APP_ID: '${{ secrets.REACT_APP_FB_APP_ID }}'
REACT_APP_MEASUREMENT_ID: '${{ secrets.REACT_APP_MEASUREMENT_ID }}'
jobs:
build_and_preview:
if: '${{ github.event.pull_request.head.repo.full_name == github.repository }}'
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- run: npm ci && npm run build
- uses: FirebaseExtended/action-hosting-deploy@v0
with:
repoToken: '${{ secrets.GITHUB_TOKEN }}'
firebaseServiceAccount: '${{ secrets.FIREBASE_SERVICE_ACCOUNT_ACCOUNTBOOK_5A92A }}'
projectId: accountbook-5a92a
expires: 7d
그럼 이제 해당 환경변수들을 사용할 수 있고 앱도 정상적으로 실행된다.
덕분에 해결했네요,, 정말 감사합니다 :)