동일한 코드베이스에서 각각 약간 다른 구성을 사용하여 여러 환경을 배포하는 것이 일반적입니다. 예를 들어 스테이징 환경에 더 적은 CPU와 RAM을 할당하거나 프로덕션 환경에서 최소 1개의 인스턴스를 활성 상태로 유지하고 요청을 처리할 수 있도록 할 수 있습니다.
환경에 대한 자세한 내용은 환경 개요 및 Firebase 프로젝트 설정을 위한 일반적인 권장사항을 참조하세요.
기본 요건
- 애플리케이션 코드가 이미 GitHub에 저장되어 있습니다.
- 환경마다 고유한 프로젝트를 이미 만들었습니다(예:
my-production-firebase-project
및my-staging-firebase-project
).- 팁: 프로덕션 Firebase 프로젝트에 '프로덕션' 환경 유형으로 태그를 지정하는 것을 잊지 마세요.
0단계: 프로덕션 git 브랜치 설정
main
브랜치에서 프로덕션 환경을 배포하려면 다음 단계로 건너뜁니다. 다른 브랜치에서 프로덕션을 배포하려는 경우
예를 들어 production
는 먼저 GitHub에서 만들어야 합니다.
GitHub UI로 프로덕션 브랜치를 만들려면 저장소 내에서 브랜치 만들기 및 삭제를 참고하세요.
로컬에서 프로덕션 브랜치를 만들려면 다음 안내를 따르세요.
$ git checkout -b production
$ git push origin production:production
1단계: 프로덕션 apphosting.yaml 구성
프로덕션에서 항상 최소 1개의 머신을 실행하고 프로덕션 관련 환경 변수가 있는지 확인한다고 가정해 보겠습니다. 다음과 같이 프로젝트의 루트에 apphosting.yaml
파일을 만들어 구성합니다.
# Saved at <repository root>/apphosting.yaml
runConfig:
minInstances: 1
env:
- variable: STORAGE_BUCKET
value: <production Cloud Storage bucket name>
지원되는 설정의 전체 목록을 보려면 앱 호스팅 구성을 참고하세요.
apphosting.yaml
를 수정한 후 GitHub 저장소에 푸시합니다.
$ git add apphosting.yaml
$ git commit -m "Added production App Hosting backend configuration."
$ git push origin
2단계: 프로덕션에 코드베이스 배포
프로덕션 git 브랜치가 구성되면 새로운 프로덕션 App Hosting 백엔드를 만들 수 있습니다. 자세한 내용은 App Hosting 시작하기를 참고하세요.
Firebase Console에서 새 백엔드를 만들려면 https://console.firebase.google.com/project/_/apphosting으로 이동하여 시작합니다.
로컬에서 만들려면 먼저 Firebase CLI를 설치한 후 다음을 실행해야 합니다.
firebase apphosting:backends:create --project <replace with your PRODUCTION project ID>
이 명령어가 성공하면 프로덕션 백엔드가 활성화되고 프로덕션 브랜치에 대한 새 커밋이 App Hosting에서 자동으로 빌드 및 배포됩니다.
3단계: 스테이징 git 브랜치 설정
위와 동일한 단계에 따라 GitHub에서 스테이징 브랜치를 만듭니다.
$ git checkout -b staging
$ git push origin staging:staging
4단계: 스테이징 apphosting.yaml 구성
스테이징 브랜치에 이미 프로덕션 apphosting.yaml의 복사본이 있어야 합니다. 스테이징 환경이 사용되지 않을 때 App Hosting에서 스테이징 환경을 중지하고 STORAGE_BUCKET
환경 변수에 다른 값을 설정할 수 있도록 수정해 보겠습니다.
# Saved at <repository root>/apphosting.yaml
runConfig:
minInstances: 0
env:
- variable: STORAGE_BUCKET
value: <some other staging Cloud Storage bucket name>
수정을 완료한 후 파일을 스테이징 git 브랜치로 푸시합니다.
$ git add apphosting.yaml
$ git commit -m "Added staging App Hosting backend configuration."
$ git push origin
5단계: 스테이징에 코드베이스 배포
스테이징 git 브랜치가 구성되면 위와 동일한 단계에 따라 코드베이스를 스테이징에 배포할 수 있습니다.
firebase apphosting:backends:create --project <replace with your STAGING project ID>
이 단계를 완료하면 동일한 코드베이스로 구동되는 2개의 App Hosting 백엔드(프로덕션용 및 스테이징용)가 만들어지며 각 백엔드는 서로 다른 Firebase 프로젝트에 있습니다.
다음 단계
- 자세히 알아보기: 호스팅된 앱을 Firebase 인증 및 Google AI 기능과 통합하는 Firebase Codelab: Next.js | Angular
- 커스텀 도메인 연결
- 백엔드를 구성합니다.
- 출시, 사이트 사용, 로그를 모니터링합니다.