피드로 돌아가기
Deploying Flutter Web to Firebase Hosting with GitHub Actions CI/CD
Dev.toDev.to
DevOps

GitHub Actions와 Firebase Hosting을 통한 Flutter Web 자동 배포 파이프라인 구축

Deploying Flutter Web to Firebase Hosting with GitHub Actions CI/CD

kanta13jp12026년 4월 19일2beginner

Context

Flutter Web 앱의 빠른 프로덕션 배포를 위해 저비용 고효율 인프라 필요성 증대. Vercel의 복잡한 설정과 GitHub Pages의 수동 HTTPS 설정 한계를 극복하기 위한 최적의 호스팅 전략 모색.

Technical Solution

  • Client-side Routing 지원을 위한 firebase.json 내 모든 경로의 index.html Rewrite 설정
  • 빌드 시 생성되는 Hashed 파일의 효율적 관리를 위해 JS 및 WASM 파일에 1년 단위 Long-term Cache-Control 헤더 적용
  • CanvasKit 렌더러 기반의 --release 빌드를 통한 웹 성능 최적화 및 정적 자산 생성
  • Firebase Service Account와 GitHub Secrets 연동을 통한 보안 강화 및 CI/CD 자동화
  • 배포 순서 보장 및 누락 방지를 위해 cancel-in-progress: false 설정으로 Concurrency 제어
  • Ubuntu-latest 환경에서 Flutter Action을 활용한 빌드 캐싱으로 파이프라인 실행 속도 개선

1. firebase.json에 SPA 전용 Rewrites 설정 확인

2. 빌드 결과물인 build/web 경로와 호스팅 Public 디렉토리 일치 여부 검토

3. GitHub Actions의 concurrency 설정을 통해 배포 큐 관리

4. 보안을 위해 Service Account JSON을 GitHub Secrets에 저장

원문 읽기