firebase GithubAction 이용해 배포할 때 .env파일의 환경변수를 사용하는 방법

Song-Minhyung·2022년 9월 4일
1

GitHub

목록 보기
1/1

문제

보안상 이유로 git에 커밋을 할 때 api키등은 .env파일에 저장해 노출이 되지 않게 했다.
그래서 여기서 문제가 발생했었는데 .env 파일이 로컬에만 존재하니
firebase서버에선 읽을수가 없기떄문에 이런 에러가 생겼다.

해결방법

  1. 해당 레포지토리의 Settings로 들어가 설정을 해주면 된다.
  2. 서버에서 build시에 .env파일을 생성해 사용한다.

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

성공

그럼 이제 해당 환경변수들을 사용할 수 있고 앱도 정상적으로 실행된다.

profile
기록하는 블로그

1개의 댓글

comment-user-thumbnail
2023년 2월 10일

덕분에 해결했네요,, 정말 감사합니다 :)

답글 달기