자동 출시가 사용 설정된 경우 GitHub 저장소의 실시간 브랜치에 새 커밋을 푸시할 때마다 App Hosting에서 새 버전의 앱을 자동으로 출시합니다. Firebase 콘솔 또는 App Hosting GitHub 검사에서 출시 상태를 확인할 수 있습니다.
또한 App Hosting는 CI/CD 통합 또는 출시를 강제해야 하는 기타 모든 경우에 수동으로 트리거된 출시를 지원합니다.
출시 보기
Firebase Console에서는 앱의 모든 출시에 관한 자세한 정보에 액세스할 수 있습니다. App Hosting 탭에서 출시를 확인하려는 백엔드의 대시보드 보기를 선택합니다. 대시보드에는 현재 출시에 대한 정보와 이 백엔드의 모든 출시 내역을 나열하는 표가 표시됩니다.
각 출시에는 git 커밋, Cloud Build 작업, Cloud Run 버전이 포함됩니다.
- git 커밋은 출시가 생성된 시점의 저장소 스냅샷입니다.
- Cloud Build 작업은 App Hosting가 앱의 빌드 명령어를 실행하는 빌드 환경입니다. Firebase Console에서 빌드 ID를 클릭하여 Cloud Build 로그에 액세스할 수 있습니다.
- Cloud Run 버전은 웹 앱의 런타임 환경입니다. 점 3개로 된 메뉴를 클릭하고 Cloud Run 버전 보기를 선택하여 출시의 런타임 구성 (CPU 및 메모리 제한, 환경 변수 등)에 관해 자세히 알아볼 수 있습니다.
출시 수동 트리거
새 커밋을 푸시하지 않고 GitHub 소스에서 출시를 수동으로 트리거하려면 Firebase 콘솔 또는 Firebase CLI에서 출시를 만들면 됩니다. 이는 다음과 같은 경우에 유용합니다.
- 정적 콘텐츠 재생성을 강제합니다.
- CI/CD 시스템에서 출시를 트리거하도록 허용
- 프로덕션 출시를 특정 날짜 또는 시간으로 제한
Firebase 콘솔에서 출시를 트리거하려면 다음 단계를 따르세요.
- App Hosting 탭에서 출시를 만들 백엔드의 대시보드 보기를 선택합니다.
- 백엔드 대시보드에서 출시 만들기를 선택합니다.
- 배포할 브랜치를 선택합니다.
- 배포할 커밋(최신 커밋 또는 커밋 ID로 지정된 이전 커밋)을 선택합니다.
- 만들기를 선택합니다. 출시의 상태 및 빌드 번호가 출시 기록 표에 표시됩니다. 출시 프로세스가 완료되면 이 출시가 현재 출시로 표시됩니다.
Firebase CLI에서 출시를 트리거하려면 다음 명령어를 실행하고 메시지가 표시되면 출시 브랜치를 선택합니다.
firebase apphosting:rollouts:create BACKEND_ID
또는 --git-branch
옵션을 사용하여 특정 브랜치의 최신 커밋 출시를 시작할 수 있습니다.
firebase apphosting:rollouts:create BACKEND_ID
--git_branch BRANCH_NAME
--git-commit
옵션을 사용하여 특정 커밋으로 출시를 만들 수도 있습니다.
firebase apphosting:rollouts:create BACKEND_ID
--git_commit COMMIT_ID
이전 출시 복원
앱 호스팅에서는 이전 출시를 복원하는 두 가지 옵션을 제공합니다.
- 다시 빌드하지 않고 즉시 롤백
- 다시 빌드하고 이전 버전으로 롤백
즉시 롤백 만들기
새로 배포된 출시에서 심각한 버그가 발견되었거나 새 출시를 차단하는 불안정한 빌드가 발생한 경우와 같이 이전 버전의 앱으로 빠르게 되돌려야 할 때가 있습니다. 이 경우 이전 출시에서 원하는 기존 컨테이너 이미지를 복원할 수 있습니다. 이 이미지는 다시 빌드되지 않으며 처음 빌드되었을 때의 코드 및 환경 구성을 사용합니다.
즉시 롤백을 만들려면 다음 단계를 따르세요.
- 앱 호스팅 탭에서 롤백을 만들 백엔드의 대시보드 보기를 선택합니다.
- 백엔드의 출시 기록 표에서 이전 빌드의 점 3개로 된 메뉴를 선택합니다.
- 이 빌드로 롤백을 선택하고 확인합니다.
다시 빌드 및 롤백
이전 버전의 앱으로 되돌리되 현재 구성은 유지하려면 롤백 프로세스의 일환으로 앱을 다시 빌드하면 됩니다. 예를 들어 최신 버전에서 Secret Manager의 API 키 값을 업데이트한 경우 빌드하면 롤백 후 앱에서 새 키가 사용될 수 있습니다.
다시 빌드하고 롤백하려면 다음 단계를 따르세요.
- 앱 호스팅 탭에서 롤백을 만들 백엔드의 대시보드 보기를 선택합니다.
- 출시 만들기를 선택합니다.
- 출시 만들기 대화상자에서 이전 커밋을 선택한 다음 다시 빌드하고 롤백하려는 버전의 커밋 ID를 입력합니다. 커밋 ID는 출시 기록에 나열된 각 출시의 '변경 세부정보'에 포함되며 라벨의 괄호 안에 있습니다.
- 만들기를 선택하여 롤백을 시작합니다.
출시 설정 변경
백엔드 대시보드의 설정 > 배포 뷰에서 컨트롤을 사용하여 출시의 실시간 브랜치를 변경하고 자동 출시를 사용 중지하거나 사용 설정할 수 있습니다.
- App Hosting 탭에서 출시 설정을 업데이트할 백엔드의 대시보드 보기를 선택합니다.
- 백엔드 대시보드에서 설정을 선택합니다. 기본 보기에는 도메인 및 커스텀 도메인에 관한 정보가 표시됩니다.
- 배포 뷰를 선택합니다. 이 뷰에서 출시의 실시간 브랜치를 변경하고 자동 출시를 사용 중지하거나 사용 설정할 수 있습니다. 또한 앱 루트 디렉터리와 백엔드 환경을 설정하는 옵션도 있습니다 (여러 환경에 배포 참고).