Firebase Hosting

Firebase Hosting은 웹 앱을 위한 빠르고 안전한 호스팅을 제공합니다.

Firebase Hosting은 개발자를 위한 프로덕션 등급 웹 콘텐츠 호스팅 서비스입니다. 명령어 하나로 글로벌 CDN(콘텐츠 전송 네트워크)에 웹 앱을 빠르게 배포할 수 있습니다. Firebase Hosting은 정적 웹 앱 및 단일 페이지 웹 앱에 최적화되어 있지만 Firebase HostingCloud Functions 또는 Cloud Run과 페어링하여 Firebase에서 동적 콘텐츠와 마이크로서비스를 빌드하고 호스팅할 수도 있습니다.

시작하기

주요 기능

보안 연결로 콘텐츠 제공 Firebase Hosting은 별도의 구성 없이 SSL을 기본적으로 제공하여 콘텐츠를 항상 안전하게 전송합니다.
빠른 콘텐츠 전송 업로드하는 각 파일이 전 세계 CDN 에지의 SSD에 캐싱되고 gzip 또는 Brotli로 제공됩니다. 콘텐츠에 가장 적합한 압축 방법이 자동으로 선택되며 사용자가 어디에 있든 빠르게 콘텐츠가 전송됩니다.
라이브로 전환 전 변경사항 에뮬레이션 및 공유

로컬로 호스팅된 URL로 변경사항을 확인 및 테스트하고 에뮬레이션된 백엔드와 상호작용합니다.

임시 미리보기 URL을 사용하여 팀원과 변경사항을 공유합니다. Hosting은 또한 미리보기된 콘텐츠를 쉽게 반복할 수 있도록 GitHub 통합을 제공합니다.

명령어 하나로 새 버전 배포

Firebase CLI가 불과 몇 초 만에 앱을 궤도에 올려 드립니다. 명령줄 도구를 사용하면 빌드 프로세스에 배포 대상을 추가할 수 있습니다.

배포를 취소해야 할 경우에도 Hosting에서 클릭 한 번으로 롤백할 수 있습니다.

기본 원리

간단한 앱 방문 페이지를 배포하든 복잡한 프로그레시브 웹 앱(PWA)을 배포하든 Hosting은 웹사이트 및 앱을 배포하고 관리하는 데 특화된 인프라, 기능, 도구를 제공합니다.

Firebase CLI를 사용하여 컴퓨터의 로컬 디렉터리에 있는 파일을 Hosting 서버에 배포합니다. 정적 콘텐츠를 제공하는 것 외에도 Cloud Functions for Firebase 또는 Cloud Run을 사용하여 사이트에 동적 콘텐츠를 제공하고 마이크로서비스를 호스팅할 수 있습니다. 모든 콘텐츠는 Google의 글로벌 CDN 중 사용자와 가장 가까운 에지 서버에서 SSL 연결을 통해 제공됩니다.

라이브로 전환하기 전 변경사항을 확인하고 테스트할 수도 있습니다. Firebase Local Emulator Suite을 사용하면 앱 및 백엔드 리소스를 로컬로 호스팅된 URL에서 에뮬레이션할 수 있습니다. 또한 임시 미리보기 URL로 변경사항을 공유하고 개발 중 쉽게 반복할 수 있도록 GitHub 통합을 설정할 수도 있습니다.

Firebase Hosting은 정교한 PWA를 빌드할 수 있는 간단한 호스팅 구성 옵션을 제공합니다. 클라이언트 측 라우팅용 URL을 간단하게 재작성하고 커스텀 헤더를 설정하며 현지화된 콘텐츠를 제공할 수도 있습니다.

Firebase에는 콘텐츠를 제공할 수 있는 여러 도메인과 하위 도메인 옵션이 있습니다.

  • 기본적으로 모든 Firebase 프로젝트에는 web.appfirebaseapp.com 도메인에 무료 하위 도메인이 있습니다. 이 두 사이트는 동일한 배포 콘텐츠와 구성을 제공합니다.

  • 서로 다른 콘텐츠를 제공하지만 같은 Firebase 프로젝트 리소스를 공유하는 관련 사이트와 앱이 있으면(예를 들어 블로그, 관리 패널, 공개 앱이 있는 경우) 여러 사이트를 만들 수 있습니다.

  • Firebase에서 호스팅되는 사이트에 자체 도메인 이름을 연결할 수 있습니다.

Firebase는 모든 도메인에 대한 SSL 인증서를 자동으로 프로비저닝하므로 모든 콘텐츠가 안전하게 제공됩니다.

구현 경로

Firebase CLI를 설치 Firebase CLI로 손쉽게 새 Hosting 프로젝트를 설정하고, 로컬 개발 서버를 실행하고, 콘텐츠를 배포할 수 있습니다.
프로젝트 디렉터리 설정

정적 애셋을 로컬 프로젝트 디렉터리에 추가한 후 firebase init을 실행하여 Firebase 프로젝트에 디렉터리를 연결합니다.

또한 로컬 프로젝트 디렉터리에서 동적 콘텐츠 및 마이크로서비스에 대해 Cloud Functions 또는 Cloud Run을 설정할 수도 있습니다.

라이브로 전환 전 변경사항 확인, 테스트, 공유(선택사항)

firebase emulators:start를 실행하여 로컬로 호스팅된 URL에서 Hosting 및 백엔드 프로젝트 리소스를 에뮬레이션합니다.

임시 미리보기 URL로 변경사항을 확인하고 공유하려면 firebase hosting:channel:deploy를 실행하여 만들고 미리보기 채널에 배포합니다. 미리보기된 콘텐츠를 쉽게 반복할 수 있도록 GitHub 통합을 설정합니다.

사이트 배포 준비가 끝났으면 firebase deploy를 실행하여 최신 스냅샷을 서버에 업로드합니다. 배포를 취소해야 하는 경우 Firebase Console에서 클릭 한 번으로 롤백할 수 있습니다.
Firebase 웹 앱에 연결(선택사항) 사이트를 Firebase 웹 앱에 연결하면 Google Analytics를 사용하여 앱의 사용 및 동작 데이터를 수집하고 Firebase Performance Monitoring을 사용하여 앱의 성능 특성에 대한 통계를 얻을 수 있습니다.

다음 단계